美文网首页
(二)爬虫框架(1)——scrapy简介

(二)爬虫框架(1)——scrapy简介

作者: 爱折腾的胖子 | 来源:发表于2018-09-21 01:54 被阅读0次

    scrapy是为了爬取网站数据、提取结构性数据而编写的应用框架。
    用户只需要开发几个模块就可以实现一个定制化爬虫,抓取内容和图片。
    scrapy内部使用了Twisted异步网络框架来处理网络通讯,可以加快下载速度,并且包含了各种中间件接口。

    Scrapy怎么完成爬虫工作:

      先来一张官方图片

    scrapy官方图
    Engine引擎:负责Spiders、Scheduler、Downloader、Item Pipelines中间的通讯,传递数据。
    Scheduler调度器:负责接收Engine发送的所有Request请求,并将其按照一定的方式进行整理排列、入队,当Engine需要时,送还给Engine。
    Downloader下载器:负责下载Engine发送的所有Request请求,并且将其获取到的Response传递给Engine。
    Spider爬虫:负责处理Downloader获取到的Response,并从中提取数据,发送给Engine,并且将需要跟进的URL再次发送给Engine,由Engine转发给Scheduler。
    Item Piplines管道:负责处理Spider中提取的数据,对数据进行分析、过滤、存储等操作。
    Middleware中间件:分为两个部分,一个是Downloader Middleware,另一个是Spider Middleware。
        Downloader Middleware下载器中间件:用户自定义扩展下载功能。
        Spider Middleware爬虫中间件:用户自定义扩展爬虫功能,例如操作request和response。

    Scrapy运行流程:
        1.Spider把需要爬取的页面URL给Engine;
        2.Engine把URL放入Scheduler中,给Scheduler处理;
        3.Scheduler把处理好的第一条request传入到Engine中;
        4.Engine把request传入Downloader中,让它发送请求到目标网站;
        5.Downloader把从服务器上接收到的response传入Engine中;
        6.Engine把接收到的response传入Spider中,供其提取数据;
        7.Spider把提取到的数据和下一条待爬取的URL传入Engine中;
        8.Engine把接收到的数据传递给Item Piplines、把下一条待爬取的URL传入Scheduler中,给Scheduler处理;
    这个流程一直循环运行,直到Scheduler中没有任何一条待爬取的URL,整个程序会停止。

    相关文章

      网友评论

          本文标题:(二)爬虫框架(1)——scrapy简介

          本文链接:https://www.haomeiwen.com/subject/hxqnnftx.html