我计划将 Scrapy 蜘蛛部署到 ScrapingHub 并使用计划功能每天运行蜘蛛。我知道,默认情况下,Scrapy 不会访问相同的 URL。但是,我想知道这种重复的 URL 避免是否在 ScrapingHub 上的预定启动中持续存在?以及我是否可以设置它以使 Scrapy 在其预定的开始时间不会访问相同的 URL。
问问题
259 次
1 回答
2
DeltaFetch是一个 Scrapy 插件,可以存储不同 Spider 运行中访问过的 URL 的指纹。您可以将此插件用于增量(增量)爬网。它的主要目的是避免请求之前已经被抓取的页面,即使它发生在之前的执行中。它只会向之前没有提取任何项目的页面、蜘蛛的 start_urls 属性的 URL 或蜘蛛的 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 项目内的Addons Setup页面上激活它。不过,您还需要激活/启用 DotScrapy Persistence 插件才能正常工作。
于 2018-05-25T04:19:02.630 回答