99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

scrapy 2.3 創(chuàng)建蜘蛛

2021-05-31 16:59 更新

蜘蛛是你定義的類,Scrapy用來(lái)從一個(gè)網(wǎng)站(或一組網(wǎng)站)獲取信息。它們必須是子類 ?Spider? 定義要發(fā)出的初始請(qǐng)求,可以選擇如何跟蹤頁(yè)面中的鏈接,以及如何解析下載的頁(yè)面內(nèi)容以提取數(shù)據(jù)。

這是我們第一只蜘蛛的代碼。將其保存在名為的文件中 ?quotes_spider.py? 下 ?tutorial/spiders? 項(xiàng)目中的目錄:

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "quotes"

    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1/',
            'http://quotes.toscrape.com/page/2/',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = f'quotes-{page}.html'
        with open(filename, 'wb') as f:
            f.write(response.body)
        self.log(f'Saved file {filename}')

如你所見(jiàn),我們的蜘蛛子類 ?scrapy.Spider? 并定義了一些屬性和方法:

  • ?name? :標(biāo)識(shí)蜘蛛。它在一個(gè)項(xiàng)目中必須是唯一的,也就是說(shuō),不能為不同的蜘蛛設(shè)置相同的名稱。
  • ?start_requests()? :必須返回一個(gè)ITable of requests(您可以返回一個(gè)請(qǐng)求列表或編寫一個(gè)生成器函數(shù)),蜘蛛將從中開(kāi)始爬行。隨后的請(qǐng)求將從這些初始請(qǐng)求中依次生成。
  • ?parse()? :將調(diào)用的方法,用于處理為每個(gè)請(qǐng)求下載的響應(yīng)。響應(yīng)參數(shù)是的實(shí)例 ?TextResponse? 它保存頁(yè)面內(nèi)容,并有進(jìn)一步有用的方法來(lái)處理它。這個(gè) ?parse()? 方法通常解析響應(yīng),將抓取的數(shù)據(jù)提取為dict,并查找新的URL以跟蹤和創(chuàng)建新的請(qǐng)求。( ?Request?0 從他們那里。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)