簡體   English   中英

在存儲的數據上重播Scrapy蜘蛛

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM