python爬虫-27-python之Selenium入门,动态网页抓取
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhwW6kOo-1655344062971)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlB84675Kkxk47S4gWrX3sFvllONGt6NJicCEqVyhEHCSt7jhItNYEHaQ/640?wx_fmt=jpeg)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HhwW6kOo-1655344062971)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlB84675Kkxk47S4gWrX3sFvllONGt6NJicCEqVyhEHCSt7jhItNYEHaQ/640?wx_fmt=jpeg)]
之前我们操作的对象都是静态网页,直接查看网页源代码即可,那么近几年动态网页的占有率越来越多,通过之前的方式不是那么方便的获取动态网页的内容,所以我们这里使用
selenium
,他是干啥的呢,简单的你可以理解为就是一个小机器人,由你来定义他的操作,帮你完成一系列的操作,从而获取我们想要的数据。
1、介绍
1.1、动态网页是什么?
动态网页就是使用了Ajax
技术的前端;
Ajax
即Asynchronous Javascript And XML
(异步JavaScript
和XML
)在 2005年被Jesse James Garrett
提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括: HTML
或 XHTML
, CSS
, JavaScript
, DOM
, XML
, XSLT
, 以及最重要的XMLHttpRequest
。 使用Ajax
技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。(该段内容来自百度百科)
当然了,现在很多情景下,将
xml
换成了json
,这个和我们没关系,知道即可。
我们关注的就是不需要重载整个页面,这也就意味着给无法直观的获取到请求地址和参数,通过其他方式虽然可以获取到,但是比较麻烦。
1.2、Selenium
是什么?
Selenium
是一个用于Web
应用程序测试的工具。Selenium
测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11)
,Mozilla Firefox
,Safari
,Google Chrome
,Opera
,Edge
等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好的工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。(该段内容来自百度百科)
简单的来说,就是你通过Selenium
来帮助你操作浏览器界面中的内容,相当于小机器人,你给他对应的指令,他帮你操作相对应的内容。
2、安装
需要安装两个东西,一个是Selenium
模块,另一个就是需要根据你浏览器的版本,下载一个浏览器驱动driver
,毕竟Selenium
就是通过这个驱动来操控你的浏览器的。
2.1、Selenium
安装
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
2.2、driver
驱动安装
我们需要知道的是,这个是可变的,要根据你自己电脑上的浏览器,以及浏览器对应的具体版本,来下载对应的驱动,否则是无法生效的。不同的浏览器下载地址不同,下面列出几个常用的,可以根据自己的实际情况来下载:
谷歌Chrome
兼容Selenium
驱动下载地址:
https://sites.google.com/chromium.org/driver/downloads
火狐Firefox
兼容Selenium
驱动下载地址:
https://github.com/mozilla/geckodriver/releases
Edge
兼容Selenium
驱动下载地址:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Safari
兼容Selenium
驱动下载地址:
https://webkit.org/blog/6900/webdriver-support-in-safari-10/
实操一个吧,比如我自己使用的是Chrome
浏览器,而且版本是版本 102.0.5005.63(正式版本) (64 位)
;
如何查看Chrome
版本呢,点击右上角的“三个点”–>“帮助”–>“关于Google Chrome
”,即可出现下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fqirbyxs-1655344062972)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlevOiaVDCn0HezLcpfibxCzZjbmxiaBqC9xpCoyqdXPPhZHIibvQfSnxKNA/640?wx_fmt=jpeg)]
然后访问Chrome
对应的下载地址,访问界面如下:
https://sites.google.com/chromium.org/driver/downloads
出现界面之后,找到对应我们版本的(如果找不到一模一样的,可以找个极其相近的也可):
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s07dpynO-1655344062974)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlG1deKfZM6hXuLlvft7n3plvwCOdgpB58MfR3PvFx9YkNlgUcibBD4Jg/640?wx_fmt=jpeg)]
然后根据你电脑型号,比如你是windows
或者linux
的,选择合适自己的点击下载即可:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-orpGV25Q-1655344062975)(https://mmbiz.qpic.cn/mmbiz_jpg/Nwec3GEnHPGwxyBtv4ZSGxr1qQicsC9UlK21q2tbnaD4QEspzy14Yb0v9nGGEZjuKGIz6WyNxZAxzq1IUzcJW9g/640?wx_fmt=jpeg)]
比如这里就是windows
电脑,那么我选择chromedriver_win32.zip
即可,下载完毕之后将其解压之后的文件,放置到你浏览器的安装目录即可,亦或者随便放置一个目录下,需要注意的是,该目录必须全部是英文,不能是中文。
我这里就放置到了“C:\Users\22768\Desktop\python”这个目录下。
3、使用Selenium
打开浏览器
3.1、请求百度,并获取返回内容
剩余内容请转至VX公众号 “运维家” ,回复 “188” 查看。
------ “运维家” ,回复 “188” ------
------ “运维家” ,回复 “188” ------
------ “运维家” ,回复 “188” ------
运维工程师是干什么的,收单猫运维工程师,武威光伏运维工程师,西安运维交付工程师招聘,石家庄网络运维工程师招聘;
数据中心运维基础工程师,运维工程师刚进公司什么都不会,顺丰的it运维工程师,佛山IDC机房运维工程师招聘,武汉仕云运维工程师加班多吗;
运维工程师T1,设施运维工程师转型,erp运维工程师培训课题,江西环保运维工程师招聘,通富微电子桌面运维工程师;
成都科技园运维工程师招聘,运维工程师的英语怎么说,运维工程师ppt,粤电风 电运维工程师咋样,运维工程师的薪酬。
更多推荐
所有评论(0)