在存储的数据上回放Scrapy spider



我已经开始使用Scrapy来抓取一些网站。如果我以后在模型中添加一个新字段或更改解析函数,我希望能够离线"回放"下载的原始数据,以便再次抓取。看起来Scrapy曾经有能力将原始数据存储在回放文件中:

http://dev.scrapy.org/browser/scrapy/trunk/scrapy/command/commands/replay.py?rev=168

但这个功能似乎在当前版本的Scrapy中被删除了。有其他方法可以做到这一点吗?

如果运行crawl --record=[cache.file] [scraper],则可以使用replay [scraper]

或者,您可以通过将HttpCacheMiddleware包含在DOWNLOADER_MIDDLEWARES:中来缓存所有响应

DOWNLOADER_MIDDLEWARES = {
    'scrapy.contrib.downloadermiddleware.httpcache.HttpCacheMiddleware': 300,
}

如果这样做,每次运行scraper时,它都会首先检查文件系统。

您可以启用HTTPCACHE_ENABLEDhttp://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html?highlight=FilesystemCacheStorage#httpcache-启用

缓存所有http请求和响应以实现恢复爬网。

或者尝试暂停作业并继续爬网http://scrapy.readthedocs.org/en/latest/topics/jobs.html

最新更新