python-scrapy爬虫框架

scrapy爬虫框架

    1.Scrapy爬虫框架

  1. scrapy 不是一个函数功能库,而是一个爬虫框架。
  2. scrapy爬虫框架:
    1. 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。
    2. .简单说爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。
  3. scrapy爬虫框架共包含七个部分(5+2结构),五个主体部分,两个中间件。数据流如图。
  4. 框架的入口SPIDERS,出口为ITEM PIPELINES,DOWNLOADER,ENGIN,SCHEDULER模块已经实现了,用户只需要编写ITEM PIPELINES和SPIDERS模块。SPIDERS提供需要访问的url链接,同时对网页进行解析,而ITEM PIPELINES对页面的后处理。
  5.  这种对模块代码的编写方式,也可以叫做配置。

2.模块介绍

  1. Engin:控制所有模块之间的数据流,根据条件触发事件,不需要用户修改。
  2. Downloader:根据请求下载页面,不需要用户修改。
  3. Scheduler:对所有爬取请求进行调度管理,不需要用户修改。
  4. 中间件模块Downloader Middleware
    1. 实施Engin,Scheduler和Downloader之间用户可配置的控制。
    2. 通过中间件修改,丢弃,新增请求或响应。
  5. Spider:解析Downloader返回的响应(Response),产生爬取项(scraped item)和爬取请求(Requset),是最核心单元,是需要用户编写主要模块。
  6. Item Piplines:以流水线方式处理Spide产生的爬取项。有一组操作顺序组成,每个操作是一个Item Pipline类型。包括清理,检验和查重爬取项中的ITEM数据,将数据存储到数据库等操作。需人工配置。
  7. Spider Middleware:
    1. 对请求和爬取项再处理。
    2. 通过中间件修改,丢弃,新增请求或爬取项。

    
3.requests库与Scarpy

  1. 相同点:都可以进行网页请求和爬取,是python的两个重要的爬虫实现路线;可用性好;都没有处理js,提交表单,应对验证码的功能;
requests VS. scrapy
requests scrapy
网页级爬虫 网站级爬虫
功能库 框架
并发性考虑不足,性能差 并发性好,性能较高
重点在页面下载 重点在爬虫结构
定制灵活 一般定制灵活,深度定制难
上手简单 入门稍难
  1. 小需求,推荐使用requests库,不太小的推荐使用scrapy框架。自搭框架建议使用requests。
发布了89 篇原创文章 · 获赞 8 · 访问量 8894

猜你喜欢

转载自blog.csdn.net/TxyITxs/article/details/94437481