Scrapy:Python的爬虫框架

网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据。虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间。Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

Scrapy使用了Twisted异步网络库来处理网络通讯。整体架构大致如下(注:图片来自互联网):

scrapy

Scrapy主要包括了以下组件:

  1. 引擎,用来处理整个系统的数据流处理,触发事务。
  2. 调度器,用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回。
  3. 下载器,用于下载网页内容,并将网页内容返回给蜘蛛。
  4. 蜘蛛,蜘蛛是主要干活的,用它来制订特定域名或网页的解析规则。
  5. 项目管道,负责处理有蜘蛛从网页中抽取的项目,他的主要任务是清晰、验证和存储数据。当页面被蜘蛛解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
  6. 下载器中间件,位于Scrapy引擎和下载器之间的钩子框架,主要是处理Scrapy引擎与下载器之间的请求及响应。
  7. 蜘蛛中间件,介于Scrapy引擎和蜘蛛之间的钩子框架,主要工作是处理蜘蛛的响应输入和请求输出。
  8. 调度中间件,介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。

使用Scrapy可以很方便的完成网上数据的采集工作,它为我们完成了大量的工作,而不需要自己费大力气去开发。

官方网站:http://scrapy.org/
开源地址:https://github.com/scrapy/scrapy

6 9 收藏

资源整理者简介:木头lbj

Everyday is a lame!Life is short,I use Python! 个人主页 · 贡献了36个资源 · 1 ·      


直接登录
最新评论
  • gnlm_admin 程序员 2015/11/07

    关于该框架的书籍国内貌似还是空白!感觉从事这种数据采集抓取的技术人员不是太多!

    • 风诗   2015/12/29

      大部分都是小的抓取需求,自己随便写写就行了.做数据抓取的人很多.比如12306抢票软件,什么多线程发帖,最早的农场偷菜….只不过大部分都是业务爱好,并不是专职而已

  • 一北氺 爬虫 10/13

    是的最早的抢车位 玩的不亦乐乎

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer