Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取方式非常有效。下面我们来看看Selenium的安装过程。
1.相关链接官方网站:www.seleniumhq.org
GitHub:github.com/SeleniumHQ/selenium/tree/trunk/py
PyPI:pypi.org/project/selenium/
官方文档:selenium-python.readthedocs.io/
中文文档:selenium-python-zh.readthedocs.io
2.pip安装这里推荐直接使用pip安装,执行如下命令即可:
pip3installselenium此外,也可以到PyPI下载对应的wheel文件进行安装(下载地址:pypi.org/project/selenium/#files),如最新版本为3.141.0,则下载:
然后进入wheel文件目录,使用pip安装:
pip3installselenium-3.141.0-py2.py3-none-any.whl4.验证安装进入Python命令行交互模式,导入Selenium包,如果没有报错,则证明安装成功:
$python3>>>importselenium但这样做还不够,因为我们还需要用浏览器(如Chrome、Firefox等)来配合Selenium工作。
后面我们会介绍Chrome、Firefox、PhantomJS三种浏览器的配置方式。有了浏览器,我们才可以配合Selenium进行页面的抓取。
前面我们成功安装好了Selenium库,但是它是一个自动化测试工具,需要浏览器来配合使用,本节中我们就介绍一下Chrome浏览器及ChromeDriver驱动的配置。
首先,下载Chrome浏览器,方法有很多,在此不再赘述。
随后安装ChromeDriver。因为只有安装ChromeDriver,才能驱动Chrome浏览器完成相应的操作。下面我们来介绍下怎样安装ChromeDriver。
1.相关链接官方网站:sites.google.com/a/chromium.org/chromedriver/downloads
下载地址:chromedriver.storage.googleapis.com/index.html
2.准备工作在这之前请确保已经正确安装好了Chrome浏览器并可以正常运行,安装过程不再赘述。
3.查看版本点击Chrome菜单“帮助”→“关于GoogleChrome”,即可查看Chrome的版本号:
这里我的Chrome版本是92.0。
请记住Chrome版本号,因为选择ChromeDriver版本时需要用到。
4.下载ChromeDriver打开ChromeDriver的官方网站:
sites.google.com/a/chromium.org/chromedriver/downloads
chromedriver.chromium.org/downloads
chromedriver.storage.googleapis.com/index.html
上面两个链接都是可以的。
5.环境变量配置下载完成后,将ChromeDriver的可执行文件配置到环境变量下。
在Windows下,建议直接将chromedriver.exe文件拖到Python的Scripts目录下,如图:
此外,也可以单独将其所在路径配置到环境变量。
在Linux和Mac下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里。
例如,要移动文件到/usr/bin目录。首先,需要在命令行模式下进入其所在路径,然后将其移动到/usr/bin:
sudomvchromedriver/usr/bin当然,也可以将ChromeDriver配置到$PATH。首先,可以将可执行文件放到某一目录,目录可以任意选择,例如将当前可执行文件放在/usr/local/chromedriver目录下,接下来可以修改~/.profile文件,相关命令如下:
exportPATH="$PATH:/usr/local/chromedriver"保存后执行如下命令:
source~/.profile即可完成环境变量的添加。
6.验证安装配置完成后,就可以在命令行下直接执行chromedriver命令了:chromedriver如果输入控制台有类似下图所示的输出,则证明ChromeDriver的环境变量配置好了。
随后再在程序中测试,执行如下Python代码:
fromseleniumimportwebdriverbrowser=webdriver.Chrome()运行之后,如果弹出一个空白的Chrome浏览器,则证明所有的配置都没有问题。如果没有弹出,请检查之前的每一步配置。
如果弹出后闪退,则可能是ChromeDriver版本和Chrome版本不兼容,请更换ChromeDriver版本。
如果没有问题,接下来就可以利用Chrome来做网页抓取了。
作者:AndersonHjb
logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多