PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。
接下来将简单说明一下安装过程。
1.下载phantomjs
下载地址:http://phantomjs.org/download.html
这里面分别提供了Windows、Mac、以及Linux 的安装包,根据自己的需要下载即可。下载完成后,将其解压到容易找到的文件夹中,打开并找到bin文件夹里的 phantomjs.exe,点击运行,出现如下界面,说明安装成功,可以使用了。
2.添加路径
找到bin文件下的phantomjs.exe,复制文件夹路径,然后打开计算机的属性界面,并按照下图标记进行操作:
进入编辑后,将复制的文件夹路径粘贴到原有的路径后面,并以 分号 分割,如下图:
注意:一定要是分号!!分号!!不然后期运行会报错:系统找不到指定的文件夹 当然,如果移动了文件夹的存放位置,而又没有修改系统路径,也会报出异常。
设置完成后,进入PyCharm,新建一个python文件,以爬取搜狐滚动新闻为例,简单说明一下phantomjs的应用。
#引入selenium
from selenium import webdriver
# 使用webkit无界面浏览器
# 如果路径为 exe 启动程序的路径,那么该路径需要加一个 r
driver =webdriver.PhantomJS(executable_path=r'D:/python/phantomjs-2.1.1-windows/bin/phantomjs.exe')
# 获取指定网页的数据 start_urls
driver.get('http://news.sohu.com/scroll/')
print(driver.find_element_by_class_name('title').text)
运行结果如下:
其中,出现的警告信息,可以选择性忽略。
注意:如果上述路径前没有加 r 或者移动了文件夹的存放位置,运行时可能出现如下异常: