Python数据采集Selenium、PantomJS浅谈

时间:2022-04-25
本文章向大家介绍Python数据采集Selenium、PantomJS浅谈,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

專 欄

yea yee,Python中文社区专栏作者,python三年,独立开发者,擅长flask,mongodb,pandas,bokeh,熟悉sklearn,pytorch。知乎专栏数据分析可视化,自带一波土木领域跨界python爱好者。独立开发网站http://intumu.com,微信小程序沁香农,海豹战队,数据分析文章若干。

Python中文社区招募2017年秋季专栏作者啦!申请邮件请按以下格式填好后发送至邮箱:pythonpost@163.com

  • 邮件标题:申请Python中文社区专栏作者
  • 个人简介:姓名或昵称,以及简单的自我介绍,涵盖个人的擅长领域等。
  • 写作能力的证明:请附个人与Python相关原创文章的链接,或者个人博客、知乎、简书地址等。
  • 您的联系方式:请附个人微信ID等。

一直以来我觉得用在运维的Selenium、PantomJS是一个重器,不到万不得已的时候不要祭出这个大杀器,但是涉及到JavaScript及Ajax渲染的时候,Requests就完全懵逼了!最近回过头来重新审视这货,这个重器用反倒轻便了很多。

1.安装Selenium、PantomJS

Selenium可以直接通过pip安装,PantomJS则时一个exe可执行文件,需要下载解压。在使用的时候指定exe的绝对路径即可。

2.Selenium、PantomJS基本设置

3.Selenium、PantomJS基本操作

如果你的网络和机子足够好,基本上就不用等待网页渲染,

否则,还需要等待,如果用time.sleep(),则有点笨拙,

或者用

其他driver内置函数,可以通过查看源代码或者在pycharm提示获取。

4.Xpath定位Html标签

其中element方法定位到是是单数,是直接定位到元素;elements方法是复数,这个学过英文的都知道,定位到的是一组元素,返回的是list队列。可参照Re函数中的findall理解。

5.完整例子

这个例子属于标准化操作,在实际中可以适当简化,并结合上面的Xpath定位完成