python爬虫-27-python之Selenium入门,动态网页抓取

Posted 公号运维家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫-27-python之Selenium入门,动态网页抓取相关的知识,希望对你有一定的参考价值。

python爬虫-27-python之Selenium入门,动态网页抓取_运维工程

之前我们操作的对象都是静态网页,直接查看网页源代码即可,那么近几年动态网页的占有率越来越多,通过之前的方式不是那么方便的获取动态网页的内容,所以我们这里使用​​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​​”,即可出现下图所示:

python爬虫-27-python之Selenium入门,动态网页抓取_chrome_02

然后访问​​Chrome​​对应的下载地址,访问界面如下:

https://sites.google.com/chromium.org/driver/downloads

出现界面之后,找到对应我们版本的(如果找不到一模一样的,可以找个极其相近的也可):

python爬虫-27-python之Selenium入门,动态网页抓取_下载地址_03

然后根据你电脑型号,比如你是​​windows​​​或者​​linux​​的,选择合适自己的点击下载即可:

python爬虫-27-python之Selenium入门,动态网页抓取_chrome_04

比如这里就是​​windows​​​电脑,那么我选择​​chromedriver_win32.zip​​即可,下载完毕之后将其解压之后的文件,放置到你浏览器的安装目录即可,亦或者随便放置一个目录下,需要注意的是,该目录必须全部是英文,不能是中文。

我这里就放置到了“C:\\Users\\22768\\Desktop\\python”这个目录下。

3、使用​​Selenium​​打开浏览器

3.1、请求百度,并获取返回内容

剩余内容请转至VX公众号 “运维家” ,回复 “188” 查看。



------ “运维家” ,回复 “188”  ------

------ “运维家” ,回复 “188”  ------

------ “运维家” ,回复 “188”  ------


运维工程师是干什么的,收单猫运维工程师,武威光伏运维工程师,西安运维交付工程师招聘,石家庄网络运维工程师招聘;

数据中心运维基础工程师,运维工程师刚进公司什么都不会,顺丰的it运维工程师,佛山IDC机房运维工程师招聘,武汉仕云运维工程师加班多吗;

运维工程师T1,设施运维工程师转型,erp运维工程师培训课题,江西环保运维工程师招聘,通富微电子桌面运维工程师;

成都科技园运维工程师招聘,运维工程师的英语怎么说,运维工程师ppt,粤电风 电运维工程师咋样,运维工程师的薪酬。


以上是关于python爬虫-27-python之Selenium入门,动态网页抓取的主要内容,如果未能解决你的问题,请参考以下文章

win10python爬虫

爬虫&Selenium&ChromeDriver

Python网络爬虫Scrapy+MongoDB +Redis实战爬取腾讯视频动态评论教学视频

27Python之jQuery基础

Python脚本之0~N排序命名

Python脚本之0~N排序命名