解决:Ubuntu(MacOS)+phantomjs+python的部署问题

云服务器:ESC Ubuntu 16.04 x64
PhantomJS:beta-linux-ubuntu-xenial 2.1.1
Python 2.7.12
MacOS 10.12.1

目的

租了台服务器当计算和运行平台,主要用于分布式网路爬虫,有需要用到phantomjs的地方,网上资料比较少,自己花了点时间,整理了一下


安装phantomjs(Ubuntu版本)

phantomjs下载地址,这里根据自己系统版本进行下载,我的云服务器是阿里的ESC,ubuntu

首先:apt-get update    # 更新软件列表。
     apt-get upgrade   # 更新软件。

其次再执行如下步骤     
步骤一下载包:wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.5.0-beta-linux-ubuntu-xenial-x86_64.tar.gz
步骤二解压:tar -xzvf phantomjs-2.5.0-beta-linux-ubuntu-xenial-x86_64.tar.gz
步骤三切入路径:cd phantomjs-2.5.0-beta-ubuntu-xenial/bin
步骤四:chmod +x phantomjs
步骤五查看是否生效:phantomjs -v  # 有信息如 2.1.1 则生效

安装Phantomjs(MacOS版本)

步骤一下载包:去这里下载对应版本http://phantomjs.org/download.html
步骤二解压:双击就行,用unzip这都无所谓
步骤三切入路径:cd ~/Downloads/phantomjs-2.1.1-macosx/bin  # 我下的路径的路径是download,版本不一,注意修改
步骤四:chmod +x phantomjs
步骤五: 配置环境,因为我装的的zsh,所以文件需要修改的是~/.zshrc这个文件,加上这句话export PATH="/Users/mrlevo/Downloads/phantomjs-2.1.1-macosx/bin/:$PATH",然后source ~/.zshrc 即可生效(没用zsh的同学,直接修改的文件时~/.bash_profile,添加内容和上述一致)
查看是否生效:phantomjs -v  # 有信息如 2.1.1 则生效

phantomjs的使用(Ubuntu和MacOS都一样)

给个栗子

>>> from selenium import webdriver  # pip install selenium
>>> driver_detail = webdriver.PhantomJS()
>>> driver_detail.get('https://www.baidu.com')
>>> news = driver_detail.find_element_by_xpath("//div[@id='u1']/a")
>>> print news.text
新闻
>>> driver_detail.quit() # 记得关闭,不然耗费内存

Ps.至于在win系统下的phantomjs操作,还需要加上一个执行路径,毕竟在win上phantomjs是个可执行的exe

win上执行可参考Selenium+PhantomJS自动续借图书馆书籍(下)等等,我还是用过很多次win下的phantomjs的,比较爽


Pay Attention

QXcbConnection: Could not connect to display
PhantomJS has crashed. Please read the bug reporting guide at
http://phantomjs.org/bug-reporting.html and file a bug report.
Aborted

解决方案

步骤一:sudo apt-get install xvfb
步骤二:sudo xvfb-run wkhtmltopdf

xvfb 是通过提供一个类似 X server 守护进程 和 设置程序运行的环境变量 DISPLAY 来提供程序运行的环境,wkhtmltopdf,把HTML页面内存转换成PDF

如按照上述步骤还未解决,请重启终端!


致谢

QXcbConnection: Could not connect to display Aborted
phantomjs资源下载

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值