有关Selenium做爬虫方式的资源消耗的问题
@黄亿华 你好,想跟你请教个问题:
我们采用了selenium的webdriver作为引擎,进行网页数据的抓取、以及后续的解析、数据持久化。webdriver采用chromedriver。
为了到达抓取的目标页面,需要有复杂的交互,因此,选webdriver,为开发过程提供了便捷。
实际操作过程中, 一台8G内存的window机器,实际可同时打开的webdriver的数量并不多,大概100~200个, 而且,会出现chrome浏览器崩溃,windows内存耗尽等问题。导致,单机的并发处理能力并不乐观。
考虑到单独打开一个chrome页面,所消耗的cpu、内存较大,请问有没有什么好的建议,或者,你所采用的方式有没有其他好的解决方案?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
楼主最后是怎么处理的哦?求指教
如果不是一定要用selenuim,建议你使用httpclient,本质上都是get和post请教
引用来自“hysjw”的评论
没有办法 必须用webdriver 否则会有一些问题 单纯的类库无法完美的模拟出AJAX加载的内容 你只能从减少webdriver的内存占用入手 分布式其实是一种比较好的方案
没有办法 必须用webdriver 否则会有一些问题 单纯的类库无法完美的模拟出AJAX加载的内容 你只能从减少webdriver的内存占用入手 分布式其实是一种比较好的方案
对内存资源的占用是什么情况?平均一个driver占用内存多少?
我们用的是火车浏览器(locoyposter),内核是火狐,用单机或分布式的方式来运行。效果还行。