Scrapy防止在整个计划中访问相同的URL

时间:2018-05-24 16:50:04

标签: scrapy scrapinghub

我计划将Scrapy蜘蛛部署到ScrapingHub,并使用计划功能每天运行蜘蛛。我知道,默认情况下,Scrapy不会访问相同的URL。但是,我想知道这个重复的URL避免是否在ScrapingHub上的预定启动时持续存在?以及我是否可以设置它以便Scrapy不会在其计划的开始时访问相同的URL。

1 个答案:

答案 0 :(得分:2)

DeltaFetch 是一个Scrapy插件,可以在不同的Spider运行中存储访问过的网址的指纹。您可以将此插件用于增量(delta)爬网。其主要目的是避免请求之前已经被删除的页面,即使它发生在之前的执行中。它只会向以前没有提取任何项目的页面发出请求,也不会向蜘蛛网站发送请求。 start_urls属性或在蜘蛛中生成的请求' start_requests方法。

请参阅: https://blog.scrapinghub.com/2016/07/20/scrapy-tips-from-the-pros-july-2016/

插件存储库: https://github.com/scrapy-plugins/scrapy-deltafetch

在Scrapinghub的信息中心中,您可以在Scrapy Cloud项目内的插件设置页面上激活它。但是,您还需要激活/启用DotScrapy Persistence插件才能工作。