红联Linux门户
Linux帮助

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

发布时间:2017-06-15 09:31:35来源:linux网站作者:哈士奇说喵
云服务器:ESC Ubuntu 16.04 x64
PhantomJS:beta-linux-ubuntu-xenial 2.1.1
Python 2.7.12
 
目的
租了台服务器当计算和运行平台,主要用于分布式网路爬虫,有需要用到phantomjs的地方,网上资料比较少,自己花了点时间,整理了一下。
 
安装phantomjs
phantomjs下载地址(https://bitbucket.org/ariya/phantomjs/downloads/),这里根据自己系统版本进行下载,我的云服务器是阿里的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
步骤四:chomd +x phantomjs
步骤五查看是否生效:phantomjs -v  # 有信息如 2.1.1 则生效
 
phantomjs的使用
给个例子
>>> from selenium import webdriver
>>> 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
新闻
Ps.至于在win系统下的phantomjs操作,还需要加上一个执行路径,毕竟在win上phantomjs是个可执行的exe
 
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
如按照上述步骤还未解决,请重启终端!
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31486.html