PhantomJS是一个可编写脚本的无头网页浏览器。它运行在Windows,macOS,Linux和FreeBSD上。
使用QtWebKit作为后端,它为各种Web标准提供快速和本机支持:DOM处理,CSS选择器,JSON,Canvas和SVG,
PhantomJS的用处可谓非常广泛,诸如网络监测、网页截屏、无需浏览器的 Web 测试、页面访问自动化等。在
python中经常用来获取动态数据
下面我们来讲一下phantomjs的安装
phantomjs官方下载地址:http://phantomjs.org/download.html
根据自己的情况选择下载压缩包,这里我用的是windows7,所以选下面红框里的这个
下载完成之后解压,为了防止文件不经意间的丢失,我们将它移动到一个不容易丢失的地方,比如我这里将它放在我安装pycharm的同级目录下
打开文件找到如下图所示的文件,点击
如果出现这样的窗口说明你可以运行js代码了
完成之后还有最重要的一步,就是将phantomjs添加到环境变量中
右键 我的电脑>>属性>>高级系统设置>>环境变量
然后找到PATH点击编辑
将你的文件路径添加进去,记得要在前方加个英文的分号,例如我要添加的就是:“;D:\python\phantomjs-2.1.1-windows\bin”
然后一路点击确定
到此phantomjs就安装完成了。
接下来我举个使用phantomjs的简单的例子:
如果没有将phantomjs加入到环境变量中,使用phantomjs的时候需要在()里面写上phantomjs.exe的路径,
添加到环境变量之后()里的内容可以省略
from selenium import webdriver
# 使用webkit无界面浏览器
# 如果路径为exe启动程序的路径 那么该路径需要加一个r
driver = webdriver.PhantomJS(executable_path = r'D:/python/phantomjs-2.1.1-windows/bin/phantomjs.exe')
# 获取指定网页的数据
driver.get('http://news.sohu.com/scroll/')
print(driver.find_element_by_class_name('title').text)
结果为:
当然这里的数据是动态的,每次获取的数据都可能不一样
红色字体为警告:selenium对PhantomJS的使用以被废弃,请使用headless。不用管这个,这个不是错误,放心使用就行了