[英]Replay a Scrapy spider on stored data
我已經開始使用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,
}
如果這樣做,每次運行刮刀時,它都會先檢查文件系統。
您可以啟用HTTPCACHE_ENABLED,如http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html?highlight=FilesystemCacheStorage#httpcache-enabled
緩存所有http請求和響應以實現恢復爬網。
或者嘗試工作暫停並繼續抓取http://scrapy.readthedocs.org/en/latest/topics/jobs.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.