scrapy 2.3 请求方法快捷方式

2021-05-31 16:59 更新

而不是执行 ​start_requests()​ 生成的方法 ​scrapy.Request​ 来自URL的对象,您只需定义 ​start_urls​ 具有URL列表的类属性。然后,此列表将由 ​start_requests()​ 要为您的蜘蛛创建初始请求,请执行以下操作:

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "quotes"
    start_urls = [
        'http://quotes.toscrape.com/page/1/',
        'http://quotes.toscrape.com/page/2/',
    ]

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

这个 ​parse()​ 方法将被调用来处理这些URL的每个请求,即使我们没有明确地告诉Scrapy这样做。这是因为 ​parse()​ 是Scrapy的默认回调方法,对没有显式分配回调的请求调用该方法。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号