我有一个Scrapy CrawlSpider,它有一个非常大的URL爬网列表。我希望能够阻止它,保存当前的状态并稍后恢复,而不必重新开始。有没有在Scrapy框架内完成这项工作的方法?如何停止Scrapy CrawlSpider并在稍后恢复停用?
回答
只是有几个月前就ML了一个问题:http://groups.google.com/group/scrapy-users/browse_thread/thread/6a8df07daff723fc?pli=1
报价巴勃罗:
我们不仅考虑它,但也努力。有 目前两个我认为MQ添加此功能在 情况下,任何人想要尝试的早期预览(他们需要 顺序应用)工作的补丁: http://hg.scrapy.org/users/pablo/mq/file/tip/scheduler_single_spider .... http://hg.scrapy.org/users/pablo/mq/file/tip/persistent_scheduler.patch 运行蜘蛛像以前一样(无持久性):
scrapy crawl thespider
要运行一个蜘蛛在DIR存储调度+ dupefilter状态:
scrapy crawl thespider --set SCHEDULER_DIR=run1
爬行过程中,你可以打^ C取消抓取并恢复它 后来有:
scrapy crawl thespider --set SCHEDULER_DIR=run1
的SCHEDULER_DIR设置名称,势必最终 发布前改变,但这个想法是一样的 - 你传递一个目录 其中坚持的状态。
您必须使用JOBDIR而不是SCHEDULER_DIR(请参阅下面的niko_gramophon的帖子)。 – Naijaba
只是想分享该功能包含在最新的scrapy版本中,但参数名称已更改。你应该使用这样的:
scrapy爬行thespider --set JOBDIR = RUN1
更多的信息在这里http://doc.scrapy.org/en/latest/topics/jobs.html#job-directory
@niko_gramphon,你知道这是否重申dupefilter状态?如果我们正在写一个csv文件并且希望恢复使用同一个文件,我们是否还需要添加服装代码?谢谢。 – x89a10
Scrapy现在已经记录在这里这在其网站上的工作特点:
这里是实际的命令:
scrapy crawl somespider -s JOBDIR=crawls/somespider-1
- 1. 停止后恢复恢复同步
- 2. 恢复后使用FLAG_ACTIVITY_NEW_TASK停止音乐
- 3. 停止readline,printf,然后恢复readline
- 4. 停止和恢复优化
- 5. 暂停/停止并继续启动/恢复Java TimerTask?
- 6. 在加载时停止applet执行,使用javascript暂停/恢复?
- 7. 如何停止并恢复实施的ApplicationListener类?
- 8. 如何停止并恢复Windows手机的XNA游戏?
- 9. getElementById()如何恢复悬停
- 10. Cocos2D:在CCSprite上停止/恢复CCAction
- 11. 使用返回false在条件停止后恢复JQuery UI Slider
- 12. 如何保存帧分离器位置并在稍后恢复?
- 13. 如何在一定数量的请求后停止scrapy蜘蛛?
- 14. scrapy-如何停止重定向(302)
- 15. 在iOS上暂停后恢复Spotify
- 16. 如何停止重复Ajax后?
- 17. 如何暂停并恢复在iPhone应用程序下载?
- 18. 如何使用后退键在LibGDX中暂停和恢复?
- 19. 为scrapy CrawlSpider
- 20. Scrapy CrawlSpider Not Crawling
- 21. 从Wifi到3G - 停止流,并不能恢复在iPhone发展
- 22. 如何用Quartz.Net暂停/恢复作业
- 23. WM_PAINT在最小化和恢复窗口后停止工作
- 24. DirectShow停止/恢复实时流
- 25. 停止和恢复jQuery的动画
- 26. 恢复停止shell脚本处理
- 27. 线程的Runnable - 停止和恢复
- 28. iphone - 停止和恢复方法
- 29. AVAudioPlayer“滴答”停止或恢复时,
- 30. 特定动作补间停止&恢复
从Scrapy v。0.16开始现在支持它:http://doc.scrapy.org/en/0.16/topics/jobs.html –