【请初学者作为参考,不建议高手看这个浪费时间】

工作中经常会有这种需求,需要抓取互联网上的数据。笔者就经常遇到这种需求,一般情况下会临时写个抓取程序,但是每次遇到这种需求的时候,都几乎要重头写,特别是面临需要抓取大数量网页,并且被抓取网站有放抓取机制的时候,处理起来就会很麻烦。

无意中接触到了一个开源的抓取框架scrapy,按照introduction做了第一个dirbot爬虫,觉得很方便,就小小研究了一下,并在工作中用到过几次。

scrapy的文档是英文的,网上相关的说明很少,使用的过程中也遇到过很多问题,大部分都是在 stack overflow 上找到的解答,看来这个工具国外的同行们用的会更多些。鉴于国内关于scrapy的文章甚少,笔者希望能用自己的一些浅显的经验希望帮助大家更快对scrapy入门,作为笔者的第一篇分享文章,很难一气呵成完成,本文将分为几个部分,按照我自己的学习曲线作为组织,如果有错误,希望大家指正。

首先简要终结一下我认为scrapy最便利的几个地方:

1. 代码分工明确,一个抓取任务只需要在几个位置固定的地方增加代码,很容易就能写出基本的抓取功能。

2. 框架隐藏了很多抓取细节,如任务调度,重试机制,但并不是说框架不够灵活,例如框架支持以添加中间件的方式更改隐藏的细节,满足特殊需要,如使用代理ip池进行抓取,防止服务器封掉ip。

好啦,下面正式开始,从安装开始

笔者的运行环境是:linux python2.5

包管理使用的是:apt-get

安装流程:

1. 首先去官方网站下载源码

https://github.com/scrapy/scrapy/tarball/0.14

2. 安装scrapy以来的python库

sudo apt-get install python-twisted python-libxml2 python-pyopenssl python-simplejson

3. 安装

tar zxf Scrapy-X.X.X.tar.gz
cd Scrapy-X.X.X
sudo python setup.py install
4. 执行
scrapy  
如果出现
 
恭喜你,安装成功。
【未完待续~~~~~】
喜欢一起简单,实用的东西,拒绝复杂花哨,我不是GEEK.

最新文章

  1. ASP.NET Core 1.1.0 Release Notes
  2. app使用微信支付成功后,点击返回到该app却跳到另外一个app去了
  3. sh4.case语句
  4. UVA 572 油田连通块-并查集解决
  5. 对button或radiobutton制作样式
  6. java生成excel文件
  7. sysbench压力测试工具简介和使用(一)
  8. /etc/profile和~/.bash_profile的区别
  9. java web 学习十二(session)
  10. jetty之安装,配置,部署,运行
  11. 发布MVC IIS 报错未能加载文件或程序集“System.Web.Http.WebHost
  12. iOS: 获取文件路径
  13. Lua学习(5)——迭代器与泛型for
  14. ElasticHD Windows环境下安装
  15. terminal、Shell、tty和console
  16. CF848E Days of Floral Colours——DP+多项式求逆/分治NTT
  17. JVM 内部原理(三)— 基本概念之类文件格式
  18. linux rabbitmq 远程登录
  19. scala学习——(1)scala基础(下)
  20. luogu P2073 送花 线段树

热门文章

  1. An overview of gradient descent optimization algorithms (更新到Adam)
  2. js权威指南---学习笔记01
  3. 怎么使用T-sql生成两位字母
  4. InstallShield在MySQL和Oracle中执行SQL脚本的方法InstallShield在MySQL和Oracle中执行SQL脚本的方法
  5. spring-boot分环境打包为tar包
  6. Keras中RNN不定长输入的处理--padding and masking
  7. gitlab-针对API,获取私有令牌
  8. Data时间格式化
  9. JSP的学习一(基础知识)
  10. hdoj2546 饭卡(DP,01背包)