如果您想了解Ubuntu下安装Phantomjs+Casperjs的相关知识,那么本文是一篇不可错过的文章,我们将对Ubuntu下安装Bless进行全面详尽的解释,并且为您提供关于16、web爬虫讲解
如果您想了解Ubuntu 下安装 Phantomjs + Casperjs的相关知识,那么本文是一篇不可错过的文章,我们将对Ubuntu 下安装Bless进行全面详尽的解释,并且为您提供关于16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS、CasperJS / PhantomJS不加载https页面、CentOS NodeJS PhantomJS PhearJS 失败的尝试……、docker centos 6.5 phantomjs 安装的有价值的信息。
本文目录一览:- Ubuntu 下安装 Phantomjs + Casperjs(Ubuntu 下安装Bless)
- 16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
- CasperJS / PhantomJS不加载https页面
- CentOS NodeJS PhantomJS PhearJS 失败的尝试……
- docker centos 6.5 phantomjs 安装
Ubuntu 下安装 Phantomjs + Casperjs(Ubuntu 下安装Bless)
sudo pip install selenium
-----------------------------------------------
在此之前需要安装selinume
--------------------------------------------
Ubuntu下安装 Phantomjs + Casperjs
1.安装phantomjs
—-下载程序文件
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2
32位ubuntu下载链接是https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-i686.tar.bz2。
—-解压文件
tar -xvf phantomjs-1.9.7-linux-x86_64.tar.bz2
–将程序移到一个合适的位置
sudo mv phantomjs-1.9.7-linux-x86_64 /usr/local/src/phantomjs
—-创建软链接到环境变量中。这样可以直接在shell中使用phantomjs命令
sudo ln -sf /usr/local/src/phantomjs/bin/phantomjs /usr/local/bin/phantomjs
—-检查是否正常工作
phantomjs –version
如果你看到当前版本号,即表示正常工作了。
2.安装Casperjs
—-进入一个你想放casper程序的目录
cd /usr/local/src/
—-用git下载最新程序
sudo git clone git://github.com/n1k0/casperjs.git
如果你未安装git,使用
sudo apt-get install git
安装git。
—-创建程序软链接
sudo ln -sf /usr/local/src/casperjs/bin/casperjs /usr/local/bin/casperjs
—-检查是否正常工作
casperjs –version
看到版本号代码你已经成功安装了Casperjs。
以上是安装最版本的Casperjs。
如果你想下载以前的版本,你可以到https://github.com/n1k0/casperjs上下载指定分支版本,然后像第1步安装phantomjs一样安装。
16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
【百度云搜索,搜各种资料:http://www.bdyss.cn】
【搜网盘,搜各种资料:http://www.swpan.cn】
PhantomJS虚拟浏览器
phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息
下载网址:http://phantomjs.org/download... 下载对应系统版本
下载后解压PhantomJS文件,将解压文件夹,剪切到python安装文件夹
然后将PhantomJS文件夹里的bin文件夹添加系统环境变量
cdm 输入命令:PhantomJS 出现以下信息说明安装成功
selenium模块是一个python操作PhantomJS软件的一个模块
selenium模块PhantomJS软件
webdriver.PhantomJS()实例化PhantomJS浏览器对象
get(''url'')访问网站
find_element_by_xpath(''xpath表达式'')通过xpath表达式找对应元素
clear()清空输入框里的内容
send_keys(''内容'')将内容写入输入框
click()点击事件
get_screenshot_as_file(''截图保存路径名称'')将网页截图,保存到此目录
page_source获取网页htnl源码
quit()关闭PhantomJS浏览器
#!/usr/bin/env python
# -*- coding:utf8 -*-
from selenium import webdriver #导入selenium模块来操作PhantomJS
import os
import time
import re
llqdx = webdriver.PhantomJS() #实例化PhantomJS浏览器对象
llqdx.get("https://www.baidu.com/") #访问网址
# time.sleep(3) #等待3秒
# llqdx.get_screenshot_as_file(''H:/py/17/img/123.jpg'') #将网页截图保存到此目录
#模拟用户操作
llqdx.find_element_by_xpath(''//*[@id="kw"]'').clear() #通过xpath表达式找到输入框,clear()清空输入框里的内容
llqdx.find_element_by_xpath(''//*[@id="kw"]'').send_keys(''叫卖录音网'') #通过xpath表达式找到输入框,send_keys()将内容写入输入框
llqdx.find_element_by_xpath(''//*[@id="su"]'').click() #通过xpath表达式找到搜索按钮,click()点击事件
time.sleep(3) #等待3秒
llqdx.get_screenshot_as_file(''H:/py/17/img/123.jpg'') #将网页截图,保存到此目录
neir = llqdx.page_source #获取网页内容
print(neir)
llqdx.quit() #关闭浏览器
pat = "<title>(.*?)</title>"
title = re.compile(pat).findall(neir) #正则匹配网页标题
print(title)
PhantomJS浏览器伪装,和滚动滚动条加载数据
有些网站是动态加载数据的,需要滚动条滚动加载数据
实现代码
DesiredCapabilities 伪装浏览器对象
execute_script()执行js代码
current_url获取当前的url
#!/usr/bin/env python
# -*- coding:utf8 -*-
from selenium import webdriver #导入selenium模块来操作PhantomJS
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities #导入浏览器伪装模块
import os
import time
import re
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap[''phantomjs.page.settings.userAgent''] = (''Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'')
print(dcap)
llqdx = webdriver.PhantomJS(desired_capabilities=dcap) #实例化PhantomJS浏览器对象
llqdx.get("https://www.jd.com/") #访问网址
#模拟用户操作
for j in range(20):
js3 = ''window.scrollTo(''+str(j*1280)+'',''+str((j+1)*1280)+'')''
llqdx.execute_script(js3) #执行js语言滚动滚动条
time.sleep(1)
llqdx.get_screenshot_as_file(''H:/py/17/img/123.jpg'') #将网页截图,保存到此目录
url = llqdx.current_url
print(url)
neir = llqdx.page_source #获取网页内容
print(neir)
llqdx.quit() #关闭浏览器
pat = "<title>(.*?)</title>"
title = re.compile(pat).findall(neir) #正则匹配网页标题
print(title)
【转载自:http://www.lqkweb.com】
CasperJS / PhantomJS不加载https页面
我知道某些网页PhantomJS /CasperJS无法打开,我想知道这是否是其中之一:给出错误:PhantomJS无法打开页面status = fail。
我尝试忽略ssl错误并更改了用户代理,但是我不确定如何确定要使用哪个代理。
我现在正在做的只是在casper.start(url, function () { ...})
哪里进行Casper的基本设置url=https://maizepages.umich.edu
;
答案1
小编典典该问题可能与最近发现的SSLv3漏洞(POODLE)有关。网站所有者被迫从其网站中删除SSLv3支持。由于PhantomJS <v1.9.8默认情况下使用SSLv3 ,因此您应该使用TLSv1:
casperjs --ssl-protocol=tlsv1 yourScript.js
全面解决方案将any
用于新的PhantomJS版本与其他SSL协议一起使用时。但是,这将使POODLE漏洞可在尚未禁用SSLv3的站点上被利用。
casperjs --ssl-protocol=any yourScript.js
替代方法:更新到PhantomJS 1.9.8或更高版本。请注意,更新到PhantomJS
1.9.8会导致一个新的错误,这对于CasperJS来说尤其烦人。
如何验证:resource.error
在脚本的开头添加一个这样的事件处理程序:
casper.on("resource.error", function(resourceError){ console.log(''Unable to load resource (#'' + resourceError.id + ''URL:'' + resourceError.url + '')''); console.log(''Error code: '' + resourceError.errorCode + ''. Description: '' + resourceError.errorString);});
如果确实是SSLv3存在问题,则错误将类似于:
错误代码:6。说明:SSL握手失败
--ignore-ssl-errors=true
顺便说一句,当证书有问题时,您可能还想使用命令行选项来运行。
CentOS NodeJS PhantomJS PhearJS 失败的尝试……
Install GCC 4.8+
PhearJS 需要 C11 的支持,而 CentOS 6 目前最新的 gcc 不支持。所以需要自己编译安装 gcc 。这里以 gcc 4.9.4 为例,下载链接以中科大镜像为例:
$ cd ~ $ wget -c http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.9.4/gcc-4.9.4.tar.bz2 $ tar -jxvf gcc-4.9.4.tar.bz2 $ ./contrib/download_prerequisites $ cd .. $ mkdir gcc4.9.4-build $ cd gcc4.9.4-build $ ../gcc-4.9.4/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib $ make -j4 $ sudo make install
安装完成后,可以查看 gcc 的版本:
$ gcc --version gcc (GCC) 4.9.4 copyright (C) 2015 Free Software Foundation,Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or fitness FOR A PARTIculaR PURPOSE.
Install Binutils
在 configure glibc 2.24 的过程中,会提示 as ld 版本过低,所以要首先升级 binutils 。
$ cd ~ $ wget -c http://mirrors.ustc.edu.cn/gnu/binutils/binutils-2.27.tar.gz $ tar zxvf binutils-2.27.tar.gz $ mkdir binutils2.27-build && cd binutils2.27-build $ ../binutils-2.27/configure $ make -j4 $ make install
Install GLIBC
$ wget -c http://mirrors.ustc.edu.cn/gnu/glibc/glibc-2.24.tar.gz $ tar zxvf glibc-2.24.tar.gz $ mkdir glibc2.24-build && cd glibc2.24-build $ ../glibc-2.24/configure $
configure 的过程提示:
configure: error: *** These critical programs are missing or too old: as ld *** Check the INSTALL file for required versions.
似乎要先把 binutils 也更新了……
然而,在更新了 binutils 之后,又遇到了 linux kernel header files missing or too old! 的问题……感觉还是换服务器比较合适……之前在 Archlinux 上运行 PhearJS 成功过。
checking installed Linux kernel header files... missing or too old! configure: error: GNU libc requires kernel header files from Linux 3.2.0 or later to be installed before configuring. The kernel header files are found usually in /usr/include/asm and /usr/include/linux; make sure these directories use files from Linux 3.2.0 or later. This check uses <linux/version.h>,so make sure that file was built correctly when installing the kernel header files. To use kernel headers not from /usr/include/linux,use the configure option --with-headers.
Install NodeJS
通过源码编译安装的方法:
$ wget -c https://nodejs.org/dist/v6.9.1/node-v6.9.1.tar.gz $ tar zxvf node-v6.9.1.tar.gz $ cd node-v6.9.1 $ ./configure $ make -j4 $ sudo make install
Install PhantomJS
PhantomJS 的安装比较简单,直接从 PhantomJS 官网下载 binary package ,解压,放入路径中就可以了。本文以 PhantomJS 2.1.1 为例
$ sudo yum install fontconfig $ cd ~ $ wget -c https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 $ tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 $ mv phantomjs-2.1.1-linux-x86_64 phantomjs
向 ~/.bashrc 中添加如下的内容:
export PATH=$HOME/phantomjs/bin:$PATH
Install memcached
$ sudo yum install memcached
Install PhearJS
$ cd ~ $ git clone https://github.com/Tomtomgo/phearjs.git $ cd ~/phearjs $ npm install
如果觉得 npm 太慢,国内的玩家可以考虑阿里巴巴的淘宝 NPM 镜像: https://npm.taobao.org/
先用以下命令安装 cnpm :
$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
然后用 cnpm install
替换 npm install
。
docker centos 6.5 phantomjs 安装

yum install fontconfig freetype2
关于Ubuntu 下安装 Phantomjs + Casperjs和Ubuntu 下安装Bless的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于16、web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS、CasperJS / PhantomJS不加载https页面、CentOS NodeJS PhantomJS PhearJS 失败的尝试……、docker centos 6.5 phantomjs 安装等相关知识的信息别忘了在本站进行查找喔。
本文标签: