python+pyspider+phantomjs实现简易爬虫功能

本篇文章的目的有两个:

1.记录搭建爬虫环境的过程

2.总结爬虫项目的心得体会

一、系统环境

该方案在32位ubuntu10.04和64位centos6.9上面测试通过,所需要用到的软件如下:

1.ubuntu10.04或者centos6.9任选其一,下文主要以centos6.9来说明

2.pyspider源代码,可以从这里下载到http://download.csdn.net/detail/king_bingge/8582249,也可以从官网下载https://github.com/binux/pyspider

3.对于phantomjs,因为该爬虫项目中使用到flash,而最新版本中的phantomjs是去掉了flash插件支持的(当然这里是为了phantomjs更高的效率),所以我选择了保留了flash插件的phantomjs版本,可以从这里下载到http://download.csdn.net/detail/king_bingge/8582351

4.当然,既然我们使用了pyspider,那么你的系统肯定要支持python,我系统的python版本为2.7.7,你可以从这里下载到http://download.csdn.net/detail/king_bingge/8582267

5.为了让phantomjs支持flash,那么你还需要下载一个flash插件,对于falsh插件,你可以从这里下载到http://download.csdn.net/detail/king_bingge/8582273。,当然,官网或许是一个更好的选择。

到这里为止,我们所需要的主要软件都已经具备了,下面就开始进行环境的搭建

二、安装phantomjs

1.在安装phantomjs之前,先要安装依赖的环境

yum install -y xorg-x11-server-Xvfb xorg-x11-server-Xorg xorg-x11-fonts* dbus-x11 xulrunner.x86_64 nspr.x86_64 nss.x86_64
yum install -y  flash-plugin nspluginwrapper

2.然后执行 rpm -ivh phantomjs-1.9-1.x86_64.rpm,完成之后,执行下面:

[root@localhost pyspider]# phantomjs  -v
1.10.0 (development)
[root@localhost pyspider]# 

能看到版本信息

3.然后执行下面的命令,查看命令行参数:

[[email protected] pyspider]# phantomjs  -h
Usage:
   phantomjs [switchs] [options] [script] [argument [argument [...]]]

Options:
  --cookies-file=<val>                 Sets the file name to store the persistent cookies
  --config=<val>                       Specifies JSON-formatted configuration file
  --debug=<val>                        Prints additional warning and debug message: ‘true‘ or ‘false‘ (default)
  --disk-cache=<val>                   Enables disk cache: ‘true‘ or ‘false‘ (default)
  --ignore-ssl-errors=<val>            Ignores SSL errors (expired/self-signed certificate errors): ‘true‘ or ‘false‘ (default)
  --load-images=<val>                  Loads all inlined images: ‘true‘ (default) or ‘false‘
  --load-plugins=<val>                 Loads all plugins: ‘true‘ (default) or ‘false‘

我们能够看到有一个–load-plugins=参数,这就是我们家在插件所需要带上的参数。

4.千万别忘了还有一点,我们的flash插件还没有安装

解压:tar -xf install_flash_player_11_linux.x86_64.tar.gz

cp libflashplayer.so /usr/lib/mozilla/plugins

cp ./usr/* /usr

这样即可成功安装。可以使用adobe flash player 了。

5.那么如何测试我们安装的phantomjs 是否成功了呢?下面给出一个测试脚本:

var page = require(‘webpage‘).create();
page.open(‘http://www.dhs.state.il.us/accessibility/tests/flash/video.html‘, function () {
    window.setTimeout(function(){
        page.render(‘video.png‘);
        phantom.exit();
    },10000);
});

将上面内容保存为test.js

然后执行命令: ./phantomjs –load-plugins=yes test.js

查看一下:当前目录下面是不是有video.png的截图呀,这就是flash播放时候的截图。

至此,你已经完成了phantomjs 的安装

更多详细的内容参考:http://www.ryanbridges.org/2013/05/21/putting-the-flash-back-in-phantomjs/

三、安装pyspider

接下来开始进入正题了,安装pyspider

1.后续我们安装pyspider所需要的包都通过pip来进行安装,所以在这这钱我们要确保系统已经安装了pip,如果没有安装的话,现在pip源代码,进行安装

代码可以从这里下载到:https://pypi.python.org/packages/source/p/pip,也可以从这里下载到:http://download.csdn.net/detail/king_bingge/8582399

进行安装

#解压
tar -zxvf pip-6.1.1.tar.gz
cd pip-6.1.1
#安装
python setup.py install
这个时候会报错说少了setuptools
从setuptools官网 https://pypi.python.org/pypi/setuptools下载setuptools原来
#解压
tar -zxvf setuptools-3.6.tar.gz
cd setuptools-3.6
#安装
python setup.py install

2.安装pip完成之后,执行命令

[root@localhost pyspider-master]# pip  install  -r requirements.txt 

3.之后在执行

pip install pyspider

4.运行./run.py,访问 http://192.168.1.1:5000/ ,看到如下界面就说明你大功告成了:

到这里为止,环境搭建完毕

后续会讲解一个实例:使用该环境实现一个建议爬虫项目。

时间: 2024-10-18 09:31:10

python+pyspider+phantomjs实现简易爬虫功能的相关文章

python 站点资源链接简易爬虫

此脚本用于爬站点的下载链接,最终输出到txt文档中. 如果是没有防盗链设置的站点,也可以使用脚本中的下载函数尝试直接下载. 本脚本是为了短期特定目标设计的,如果使用它爬其它特征的资源链接需自行修改配置语句. python初学者,请多多指正. # -*- coding: utf-8 -*- import re import urllib import os import urllib2 import requests import time #download the file def downl

python专题-爬虫功能

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度.好吧-!其实你很厉害的,右键查看页面源代码. 我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地.下面就看看如何使用python来实现这样一个功能. 一,获取整个页面数据 首先我们

Python简易爬虫爬取百度贴吧图片

通过python 来实现这样一个简单的爬虫功能,把我们想要的图片爬取到本地.(Python版本为3.6.0) 一.获取整个页面数据 def getHtml(url): page=urllib.request.urlopen(url) html=page.read() return html 说明: 向getHtml()函数传递一个网址,就可以把整个页面下载下来. urllib.request 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据. 二.筛选页面

[python爬虫]简单爬虫功能

在我们日常上网浏览网页的时候,经常会看到某个网站中一些好看的图片,它们可能存在在很多页面当中,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度.就算可以弄下来,但是我们需要几千个页面当中的图片,如果一个一个下载,你的手将残.好吧-!其实你很厉害的,右键查看页面源代码. 我们可以通过python 来实现这样一个简单的爬

Python 简单爬虫功能实现

当Google创始人用python写下他们第一个简陋的爬虫, 运行在同样简陋的服务器上的时候 ;很少有人能够想象 , 在接下的数十年间 , 他们是怎样地颠覆了互联网乃至于人类的世界 . 有网络的地方就有爬虫,爬虫英文名称spider.它是用来抓取网站数据的程序.比如: 我们通过一段程序,定期去抓取类似百度糯米.大众点评上的数据,将这些信息存储到数据库里,然后加上展示页面,一个团购导航站就问世了.毫无疑问,爬虫是很多网站的初期数据来源. 一.第一个爬虫功能的实现 --查看博文目录第一篇文章的URL

python之路-利用索引切片功能做一个简易的两个未知数的加法计算器,代码如下:

python之路-利用索引切片功能做一个简易的两个未知数的加法计算器,代码如下: #content = input('请输入内容:'),如用户输入:5 +9或 5 + 9 等,然后进行分割再进行计算. content = input('>>>').strip() #content 等于所输入的内容,strip:删除字符串左右两边的空格. index = content.find('+') ''' content内容中的两边的空格都删除了,但中间还有,现在我们只需要定位已知内容是加法,两边

使用 HttpClient 和 HtmlParser 实现简易爬虫_Linux !

body { font-family: Lucida Console; font-size: 12pt; line-height: 1.5; } html, body { color: ; background-color: ; } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bold; } h3 { font-size:1.3em; font-weight:bold; } h4 { fo

使用 HttpClient 和 HtmlParser 实现简易爬虫

这篇文章介绍了 HtmlParser 开源包和 HttpClient 开源包的使用,在此基础上实现了一个简易的网络爬虫 (Crawler),来说明如何使用 HtmlParser 根据需要处理 Internet 上的网页,以及如何使用 HttpClient 来简化 Get 和 Post 请求操作,构建强大的网络应用程序. 源文地址:http://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ HttpClient 与 HtmlPars

[转]使用 HttpClient 和 HtmlParser 实现简易爬虫

http://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/ http://blog.csdn.net/dancen/article/details/7570911 HttpClient 与 HtmlParser 简介本小结简单的介绍一下 HttpClinet 和 HtmlParser 两个开源的项目,以及他们的网站和提供下载的地址. HttpClient 简介HTTP 协议是现在的因特网最重要的协议之一.除了 WEB 浏览器之外,