scrapy怎么实现重复或者定时采集?
一次读完是最好的办法,控制爬取速度就行。我不知道你用的什么代理,你可以试试我写的免费代理服务器,可以在本地源源不断地提供可用代理。
如果要循环执行,也有几种方法,你写的循环执行Scrapy-crawl命令就可以,但这样是很笨的,因为每次都要重启进程。
比较好的选择是使用scrapy提供的内部机制,比如reactor+CrawlerRunner,这样你可以在外部对爬虫进行控制,增加你想要的任何爬取条件,在同一个线程里重复启动爬虫,爬取结束后干掉reactor即可。具体的做法,Scrapy的官方文档里有介绍,循环条件你要自己写。
我上面贴的代理服务器,将Scrapy底层的reactor运行在Tornado的event loop之上,在需要的时候调用各个爬虫,也符合你的需要,你可以研究一下。
另外提供一个反面教材,也是我自己以前写的,用Python脚本定时执行crapy-crawl命令,你也可以参考一下。