首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在存储的数据上重放抓取爬虫

在存储的数据上重放抓取爬虫
EN

Stack Overflow用户
提问于 2011-10-14 18:34:46
回答 2查看 5.6K关注 0票数 14

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

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

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

EN

回答 2

Stack Overflow用户

发布于 2011-10-20 09:05:24

如果您运行crawl --record=[cache.file] [scraper],那么您将能够使用replay [scraper]

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

代码语言:javascript
复制
DOWNLOADER_MIDDLEWARES = {
    'scrapy.contrib.downloadermiddleware.httpcache.HttpCacheMiddleware': 300,
}

如果这样做,那么每次运行刮板程序时,它都会首先检查文件系统。

票数 21
EN

Stack Overflow用户

发布于 2012-09-11 14:15:03

您可以像上述http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html?highlight=FilesystemCacheStorage#httpcache-enabled一样启用HTTPCACHE_ENABLED

缓存所有http请求和响应以实现简历爬行。

或尝试暂停和恢复爬网http://scrapy.readthedocs.org/en/latest/topics/jobs.html的作业

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7766414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档