采集动态加载的网站,除了使用Selenium,还有其他类似的解决方案吗?

  我在采集一些网站的时候遇到这样的问题,当我还在调试阶段的时候,我的爬虫在运行以后总是会采集很多数据而难以停止下来,除非我需要Ctrl+C强行暂停才可以,但是有的数据量确实比较庞大,采集速度也特别快,所以我想要在我调试阶段的时候能够制定采集一定的数据,爬虫就会终止下来,这样我既能查看数据是否正确又能不耽误时间。

这个问题其实Scrapy框架已经考虑到了:

CLOSESPIDER_TIMEOUT = 0  # 指定时间退出

CLOSESPIDER_PAGECOUNT = 0  # 抓取了指定数量的响应

CLOSESPIDER_ITEMCOUNT = 0  # 生成指定数据的item

CLOSESPIDER_ERRORCOUNT = 0   # 在发生指定数量的错误

这四个配置其实是在默认配置文件中的,默认都是0。当然也可以使用命令行的方式进行配置:

scrapy crawl spiderName -s CLOSESPIDER_TIMEOUT=30

 

具体的内容可以参考Scrapy文档:

https://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/extensions.html

posted @ 2019-07-12 17:56  菜鸟SSS  阅读(888)  评论(0编辑  收藏  举报