时东南
作者时东南·2017-09-29 10:51
软件架构师·外资银行

Python数据采集Selenium、PhantomJS浅谈

字数 560阅读 2229评论 0赞 4

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

1.安装Selenium、PhantomJS

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

2.Selenium、PhantomJS基本设置

1.bmp

1.bmp

3.Selenium、PhantomJS基本操作

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

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

2.bmp

2.bmp

或者用

3.bmp

3.bmp

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

4.Xpath定位Html标签

4.bmp

4.bmp

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

5.完整例子

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

11.bmp

11.bmp

12.bmp
12.bmp

13.bmp
13.bmp

14.bmp
14.bmp

15.bmp
15.bmp

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广