专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

写Python爬虫一定要用到chromedriver吗_CSS学习

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/4 6:08:51       共计:3586 浏览

写Python爬虫一定要用到chromedriver吗?

这篇文章主要是从Python编程语言生态系统的角度编写的。我注意到,Selenium已经成为非常流行地用来抓取从网页上的数据,所以chromedriver也是必备的。是的,您可以使用Selenium进行网络抓取,但我觉得这不是一个好主意。

我个人也认为,教导如何使用Selenium进行网页抓取的文章为日常使用工具进行网页抓取提供了一个不好的例子。

1.为什么不应该使用Selenium进行网络抓取

首先,Selenium不是Web抓取工具。它是“用于自动化Web应用程序以进行测试”,该声明来自Selenium主页。其次,在Python中,有一个更好的工具Scrapy开源Web爬网框架。精明的读者会问:“ 与Python相比,使用Scrapy有什么好处?”,您将获得速度和很多速度,开发速度和Web抓取时间的速度,而且代码更干净些。

有一些技巧可以使Selenium Web抓取速度更快,如果使用Scrapy,则不会出现此类问题,而且速度更快。

仅仅因为这些文章的存在证明了(至少对我而言)人们使用了错误的工具进行工作,例如“ 当您唯一的工具是锤子时,一切看起来都像钉子 ”。

2.你什么时候该用Selenium

我个人仅使用Selenium进行网页测试。我会尝试使用它来自动化Web应用程序(如果没有其他选择),但是到目前为止,我还没有这种用例。使用Selenium作为Web抓取工具时,我可以看到的唯一例外是,如果要抓取的网站正在使用JavaScript来获取/显示需要抓取的数据,而且它防爬虫技术很厉害,需要你模仿浏览器去捕获,这时候用Selenium是个明智的选择。

3.用什么代替Selenium来进行网络抓取

如您所料,我的建议是使用Scrapy。我选择Scrapy是因为我花了更少的时间来开发Web抓取程序(Web Spider),并且执行时间很快。我发现由于Scrapy Shell和缓存,Scrapy的开发速度更快。在执行过程中,由于可以同时完成多个请求,因此速度很快,这意味着数据传递将不会按照请求的顺序进行,只是您在调试时不会感到困惑。

4.总结

但存使用Selenium进行Web抓取是不足够的,因为不是生产系统和学习/爱好,这很好。

虽然Selenium很容易启动,您可以在屏幕上实时看到正在隐藏的内容,这对于开始学习/学习网络抓取的人们来说是一个巨大的好处,并且在出现这种情况时要拥有这种早期道德观念很重要。

但是我确实认为所有使用Selenium进行Web抓取的文章和教程都应声明免于现实生活中不使用Selenium(如果您每天需要抓取100K页面,则不可能在单个Selenium实例中做到这一点)。

要开始使用Scrapy很难,您必须编写XPath选择器并查看要调试的HTML页面的源代码并不好玩,但是如果您想快速进行网络抓取,那就是需要花多点时间研究技术,毕竟因地制宜。

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:你的家乡农村如今还能看到炊烟袅袅的画面吗_CSS学习 | ·下一条:excel表格怎么均匀拉伸_CSS学习

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有