1.2.5 PhantomJS的安装

如果我们使用 Chrome 或 Firefox 进行网页抓取的话,每次抓取的时候,都会弹出一个浏览器,比较影响使用。所以在这里再介绍一个无界面浏览器,叫做 PhantomJS。

PhantomJS 是一个无界面的,可脚本编程的 WebKit 浏览器引擎。它原生支持多种 web 标准:DOM 操作,CSS 选择器,JSON,Canvas 以及 SVG。

Selenium 支持 PhantomJS,这样在运行的时候就不会再弹出一个浏览器了,而且其运行效率也是很高的,还支持各种参数配置,使用非常方便,下面我们就来了解一下 PhantomJS 的安装过程。

1. 相关链接

2. 下载 PhantomJS

我们需要在官方网站下载对应的安装包。http://phantomjs.org/download.html,它支持多种操作系统,Windows、Linux、Mac、FreeBSD 等,我们可以选择对应的平台将安装包下载下来。

下载完成之后,需要将 PhantomJS 的可执行文件所在的路径配置到环境变量里。如在 Windows 下,将下载的文件解压之后打开会看到一个 bin 文件夹,里面会包括一个可执行文件 phantomjs.exe,我们需要将它直接放在配置好环境变量的路径下或者将它所在的路径配置到环境变量里,如我们可以将它直接复制到 Python 的 Scripts 文件夹,也可以将它所在的 bin 目录加入到环境变量。

Windows 下环境变量的配置可以参见 Python3 安装一节,Linux 及 Mac 环境变量配置可以参见 ChromeDriver 安装一节,在此不再赘述,关键在于将 PhantomJS 的可执行文件所在路径配置到环境变量里。

配置成功后,可以在命令行下测试一下,输入

phantomjs

如果可以进入到 PhantomJS 的命令行,那就证明配置完成了,如图 1-21 所示:

图 1-21 控制台

3. 验证安装

在 Selenium 中使用的话,我们只需要将 Chrome 切换为 PhantomJS 即可。

from selenium import webdriver
browser = webdriver.PhantomJS()
browser.get('https://www.baidu.com')
print(browser.current_url)

运行之后我们就不会发现有浏览器弹出了,但实际上 PhantomJS 已经运行起来了,在这里我们访问了百度,然后将当前的 URL 打印出来。

控制台输出如下:

https://www.baidu.com/

如此一来我们便完成了 PhantomJS 的配置,在后面我们可以利用它来完成一些页面的抓取。

4. 结语

以上三节我们介绍了 Selenium 对应的三大主流浏览器的对接方式,在后文我们会对 Selenium 及各个浏览器的对接方法进行更加深入的探究。

results matching ""

    No results matching ""