Python爬虫框架Scrapy安装使用步骤


Posted in Python onApril 01, 2014

一、爬虫框架Scarpy简介
Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python实现,完全开源,代码托管在Github上,可运行在Linux,Windows,Mac和BSD平台上,基于Twisted的异步网络库来处理网络通讯,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片。

二、Scrapy安装指南

我们的安装步骤假设你已经安装一下内容:<1>Python2.7<2>lxml<3>OpenSSL,我们使用Python的包管理工具pip或者easy_install来安装Scrapy。
pip的安装方式:

pip install Scrapy

easy_install的安装方式:
easy_install Scrapy

三、Ubuntu平台上环境配置

1、python的包管理工具
当前的包管理工具链是 easy_install/pip + distribute/setuptools
distutils : Python 自带的基本安装工具, 适用于非常简单的应用场景;
setuptools : 针对 distutils 做了大量扩展, 尤其是加入了包依赖机制. 在部分 Python 子社区已然是事实上的标准;
distribute : 由于 setuptools 开发进度缓慢, 不支持 Python 3, 代码混乱, 一帮程序员另起炉灶, 重构代码, 增加功能, 希望能够取代 setuptools 并被接纳为官方标准库, 他们非常努力, 在很短的时间便让社区接受了 distribute;,setuptools / distribute 都只是扩展了 distutils;
easy_install : setuptools 和 distribute 自带的安装脚本, 也就是一旦 setuptools 或 distribute 安装完毕, easy_install 也便可用. 最大的特点是自动查找 Python 官方维护的包源 PyPI , 安装第三方 Python 包非常方便; 使用:
pip : pip 的目标非常明确 ? 取代 easy_install. easy_install 有很多不足: 安装事务是非原子操作, 只支持 svn, 没有提供卸载命令, 安装一系列包时需要写脚本; pip 解决了以上问题, 已俨然成为新的事实标准, virtualenv 与它已经成为一对好搭档;

安装过程:
安装distribute  

$ curl -O http://python-distribute.org/distribute_setup.py  
$ python distribute_setup.py

安装pip:
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py  
$ [sudo] python get-pip.py

2、Scrapy的安装
在Windows平台上,可以通过包管理工具或者手动下载各种依赖的二进制包:pywin32,Twisted,zope.interface,lxml,pyOpenSSL,在Ubuntu9.10以后的版本上,官方推荐不用使用Ubuntu提供的python-scrapy包,它们要么太老要么太慢,无法匹配最新的Scrapy,解决方案是,使用官方的Ubuntu Packages,它提供了所有的依赖库,并且对于最新的bug提供持续的更新,稳定性更高,它们持续的从Github仓库(master和stable branches)构建,Scrapy在Ubuntu9.10之后的版本上的安装方法如下:
<1>输入GPG密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7

<2>创建/etc/apt/sources.list.d/scrapy.list 文件
echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list

<3>更新包列表,安装scrapy版本,其中VERSION用实际的版本代替,如scrapy-0.22
sudo apt-get update && sudo apt-get install scrapy-VERSION

3、Scrapy依赖库的安装
ubuntu12.04下scrapy依赖库的安装
ImportError: No module named w3lib.http

pip install w3lib

ImportError: No module named twisted
pip install twisted

ImportError: No module named lxml.html
pip install lxml

解决:error: libxml/xmlversion.h: No such file or directory
apt-get install libxml2-dev libxslt-dev  
apt-get install python-lxml

解决:ImportError: No module named cssselect
pip install cssselect 

ImportError: No module named OpenSSL
pip install pyOpenSSL 

4、定制自己的爬虫开发
切换到文件目录,开启新的工程

scrapy startproject test

 

Python 相关文章推荐
python实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
Python实用日期时间处理方法汇总
May 09 Python
Python算术运算符实例详解
May 31 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
Python实现输出某区间范围内全部素数的方法
May 02 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
python模块如何查看
Jun 16 Python
Python实现扫码工具的示例代码
Oct 09 Python
使用python绘制人人网好友关系图示例
Apr 01 #Python
python异步任务队列示例
Apr 01 #Python
用Python编程实现语音控制电脑
Apr 01 #Python
35个Python编程小技巧
Apr 01 #Python
ptyhon实现sitemap生成示例
Mar 30 #Python
python实现百度关键词排名查询
Mar 30 #Python
python获取网页状态码示例
Mar 30 #Python
You might like
PHP实现的功能是显示8条基色色带
2006/10/09 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
javascript实现日历效果
2019/06/17 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
js实现简单页面全屏
2019/09/17 Javascript
vue-resource:jsonp请求百度搜索的接口示例
2019/11/09 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
python迭代器实例简析
2014/09/25 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
python实现微信跳一跳辅助工具步骤详解
2018/01/04 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
Python定义一个Actor任务
2020/07/29 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
ABOUT YOU匈牙利:500个最受欢迎的时尚品牌
2019/07/19 全球购物
酒店员工检讨书
2014/02/18 职场文书
员工安全责任书范本
2014/07/24 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
代办社保委托书范文
2014/10/06 职场文书
离婚被告答辩状
2015/05/22 职场文书
Linux安装Docker详细教程
2022/07/07 Servers