scrapy 抓取信息, time.sleep()问题

2015-10-26 14:49:49 +08:00
 appleaa
使用 scrapy 抓取 http://www.cnbeta.com/topics/9.htm ,先抓取文章标题, yield Item 存储,再根据 link 抓内容, yield content, 然后 time.sleep(1200)。但是 yield content 处理时间比较长, time.sleep 会是全局停止,导致好长时间抓取不到 content ,请教大家怎么做?
5368 次点击
所在节点    Python
7 条回复
pango
2015-10-26 15:05:06 +08:00
为什么要 sleep ? scrapy 不是可以自己控制并发数吗?
appleaa
2015-10-26 15:09:18 +08:00
@pango 我是循环抓取, sleep 20 分钟后看这个页面有没有新内容,不是并发问题
rockivy
2015-10-26 15:14:37 +08:00
@appleaa 为什么不定时 20 分钟后重新跑一次抓取程序?
appleaa
2015-10-26 15:30:59 +08:00
@rockivy 程序框架都是这样定的,以前没发现这个问题
ahxxm
2015-10-27 09:22:32 +08:00
"*/20 * * * * timeout=600 scrapy crawl cnbeta"加进 crontab 就行了, 20 分钟来一发, 10 分钟没跑完自动干掉进程
lev
2015-10-28 05:02:55 +08:00
可以设置全局参数 DOWNLOAD_DELAY http://doc.scrapy.org/en/latest/topics/settings.html
kmz
2018-07-06 18:41:40 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/231167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX