python总结-selenium是什么?

上面学习了cookies和session之后,也算是能够爬取点网站了,但是比较复杂点的网站还是有点难度的。比如爬取12306,该如何?


image.png

有的网站页面交互复杂,也比较难爬取,比如腾讯文档?


image.png

还有的网站,对URL的加密逻辑很复杂,比如,第4关爬过的QQ音乐歌曲评论,URL的参数变量找起来挺费劲的。
这个时候,就需要selenium登场了!
1、selenium

selenium是什么呢?
它是一个强大的Python库。
它可以做什么呢?
它可以用几行代码,控制浏览器,做出自动打开、输入、点击等操作,就像是有一个真正的用户在操作一样。
首先,当你遇到验证码很复杂的网站时,selenium允许让人去手动输入验证码,然后把剩下的操作交给机器。
而对于那些交互复杂、加密复杂的网站,selenium问题简化,爬动态网页如爬静态网页一样简单。
又有一个概念提出来了?
什么是动态网页,什么又是静态网页呢?
(1)html写出的网页,就是静态网页。我们使用BeautifulSoup爬取这类型网页,因为网页源代码中就包含着网页的所有信息,因此,网页地址栏的URL就是网页源代码的URL。
(2)要爬取的数据不在HTML源代码中,而是在json中,你就不能直接使用网址栏的URL了,而需要找到json数据的真实URL。这就是一种动态网页。
不论数据存在哪里,浏览器总是在向服务器发起各式各样的请求,当这些请求完成后,它们会一起组成开发者工具的Elements中所展示的,渲染完成的网页源代码。
在遇到页面交互复杂或是URL加密逻辑复杂的情况时,selenium就派上了用场,它可以真实地打开一个浏览器,等待所有数据都加载到Elements中之后,再把这个网页当做静态网页爬取就好了。

你可能感兴趣的:(python总结-selenium是什么?)