采集动态加载的网站,除了使用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