Scrapy 防止跨计划访问相同 URL
Scrapy Prevent Visiting Same URL Across Schedule
我计划将 Scrapy 蜘蛛部署到 ScrapingHub,并每天使用计划功能 运行 蜘蛛。我知道,默认情况下,Scrapy 不会访问相同的 URLs。但是,我想知道这种重复 URL 避免是否在 ScrapingHub 上的预定启动中持续存在?以及我是否可以设置它,以便 Scrapy 不会在其计划的启动期间访问相同的 URLs。
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 页面上激活它。不过,您还需要 activate/enable DotScrapy Persistence 插件才能正常工作。
我计划将 Scrapy 蜘蛛部署到 ScrapingHub,并每天使用计划功能 运行 蜘蛛。我知道,默认情况下,Scrapy 不会访问相同的 URLs。但是,我想知道这种重复 URL 避免是否在 ScrapingHub 上的预定启动中持续存在?以及我是否可以设置它,以便 Scrapy 不会在其计划的启动期间访问相同的 URLs。
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 页面上激活它。不过,您还需要 activate/enable DotScrapy Persistence 插件才能正常工作。