Python Selenium的下载和安装
Selenium 支持所有主流平台(如,Windows、Linux、IOS、Android、Edge、Opera等),同时,它也实现了诸多自动化功能,比如软件自动化测试,检测软件与浏览器兼容性,自动录制、生成不同语言的测试脚本,以及自动化爬虫等。本节及后续两节主要围绕自动化爬虫展开讲解。
图1:Python Selenium
Selenium 提供了一个工具集,包括 Selenium WebDriver(浏览器驱动)、Selenium IDE(录制测试脚本)、Selenium Grid(执行测试脚本)。后面两个主要用于测试脚本的录制、执行,因此不做介绍。我们只对 Selenium WebDriver 做重点讲解。
关于 Selenium IDE/Grid 的相关知识可参考官网文档 https://www.selenium.dev/。
Selenium下载安装
Selenium 安装非常简单,Linux、Mac 用户执行以下令即可:
Windows 用户执行以下令即可实现安装:sudo pip install Selenium
python -m pip install selenium
除了使用上述令安装外,您也可以通过官方网站下载 Selenium WebDriver 安装包,点击前往下载。
安装浏览器驱动
若想使 Selenium 能够调用浏览器,那么必须通过 webdriver 驱动来实现。不同的浏览器需要使用不同驱动程序,下面列出了不同浏览器驱动程序的下载地址:
谷歌浏览器 chromedrive:http://chromedriver.storage.googleapi网站站点" rel="nofollow" />
图1:IE 驱动下载
下面以 Windows10 平台 Chrome 浏览器为例讲解。首先检查浏览器版本号,并下载相应驱动文件,然后解压文件,将 Chromedriver.exe 文件拷贝到 Python 安装目录的 Scripts 目录下,将其添加到系统环境变量中。使用如下令可查看 Python 安装路径:
您需要根据自己安装路径进行配置,我的环境变量配置如下:where python
图2:配置环境变量
图3:驱动开启成功
自动访问百度
编写如下代码,实现自动化访问百度。
截取了运行中的显示结果,如下所示:# 导入seleinum webdriver接口
from selenium import webdriver
import time
# 创建Chrome浏览器对象
browser = webdriver.Chrome()
#访问百度网站
browser.get('http://www.baidu.com/')
#阻塞3秒
time.sleep(3)
# 自动退出浏览器
browser.quit()
图4:Selenium自动化访问百度
经过上述代测试,说明我们安装的浏览器驱动可以正常工作。Selenium WebDriver 实现了许多操作浏览器功能。比如实现自动点击、自动输入、自动搜索、自动登录等等。
毫不夸张的说,Selenium 自动化爬虫是一种的爬虫程序,它可以仿照人的样子去打开网站,并拿到你想要的数据,因此你无须在意反爬措施。不过它最致的缺点就是效率很低,因为每次点击、输入等操作都需要花费一定的时间,因此它仅适用于小批量的数据抓取。