首先声明几点
1.本意是通过selenium的webdriver.Phantomjs()爬取网页数据,但除了2.1.1(最新版本)之外,selenium 已经不支持Phantomjs了,所以最好装2.1.1版本。
2. 听说phantomjs的executable_path配置phantomjs的exe可执行文件路径可以解决部分问题,不过我还是没成功
3.无奈之下,只好放弃pip安装这条路,采用下载安装包方式。由于我的Ubuntu是无界面版本(有界面版本可以直接去官网下载),
故只能通过命令行的形式安装
4.安装之后发现selenium最新版本竟然不支持phantomjs(3.10.0以上),最后只好卸载装了旧版本(3.8.0)
卸载最新版本:pip3 uninstall selenium
安装历史版本:pip3 install selenium==3.10.0
下载Phantomjs(2.1.1版本)
1. 32位:wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2
2. 64位:wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
解压
1.通过cd命令进入到下载的压缩包位置
2. 32 位:tar -xvf phantomjs-2.1.1-linux-i686.tar.bz2
64位:tar -xvf phantomjs-2.1.1-linux-x86_64.tar.bz2
此时会出现相应文件夹
3. 可以选择将文件夹移动到自己认为合适的位置
sudo mv phantomjs-2.1.1-linux-i686 /usr/local/src/phantomjs
(注意: /usr/local/src/phantomjs 是路径,要根据自己虚拟机文件位置选择,要体检创建文件夹)
4.将phantomjs添加到环境变量以便可以直接运行
sudo ln -sf /usr/local/src/phantomjs/bin/phantomjs /usr/local/bin/phantomjs
(注意:红色部分是phantomjs可执行文件路径,蓝色部分表示虚拟机bin文件路径下创建名为phantomjs的环境变量)
检查安装是否成功
1.输入phantomjs
2.输入phantomjs --version
若显示版本号即为成功
后续工作
若想使用phantomjs爬取数据,可直接调用webdrive.Phantomjs()即可
简单测试
from selenium import webdriver
driver = webdriver.Phantomjs()
drive.get('https://www.baidu.com')
print(drive.current_url)
OK!如有疑问可以相互探讨