我正在使用 scrapinghub 的 deltafetch 功能从网站获取新页面,而无需请求我已经抓取的网址。
我注意到在某些网站上,scrapy 仍然会使用已经访问过的 url 报废页面。我不得不只使用 url 替换默认的指纹 deltafetch_key。
它适用于 scrapy Spider
,因为我可以在请求中定义元数据。但是,当使用CrawlSpider
and时SitemapSpider
,我有点卡住了。例如,SitemapSpider
, 有一个_parse_sitemap
包含 的方法Requests
,但我不能真正覆盖它。
我尝试使用自定义DOWNLOADER_MIDDLEWARES
,通过使用process_request
和添加request.meta['deltafetch_key'] = xxx
. 但不知何故,在自定义下载器中间件之前调用了 deltafetch 蜘蛛中间件。
您有任何想法如何向of和中添加meta
信息吗?Request
CrawlSpider
SitemapSpider