«

Python网络爬虫框架scrapy的结构是什么

时间:2024-5-20 08:53     作者:韩俊     分类: Python


本篇内容介绍了“Python网络爬虫框架scrapy的结构是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    scrapy爬虫框架介绍

    scrapy不是一个简单的函数功能库,而是一个爬虫框架

    爬虫框架:

      爬虫框架是实现爬虫功能的一个软件结构和功能组件的集合。

      爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。

    scrapy爬虫框架结构

    “5+2”结构:

      ENGINE :已有的,核心,控制所有模块之间的数据流,根据条件触发事件

      SCHEDULER:已有的,对所有的爬虫请求进行调度管理

      ITEM PIPELINES :框架出口,用户编写,以流水线方式处理Spider产生的爬取项,由一组操作顺序组成,类似流水线,每个操作是一个item pipline类型,可能操作包括:清理,检验和查重爬取项中的HTML数据,将数据存储到数据库

      SPIDERS :框架入口,用户编写,解析downloader返回的响应,产生爬取项,以及额外的爬取请求

      DOWNLOADER :已有的,根据请求下载网页

      2个MIDDLEWARE:Download Middleware:实施Engine,Scheduler和Downloader之间用户可配置的控制,即用户可以修改、丢弃、新增请求或响应。Spider Middleware,对spider的请求和爬取项的再处理。修改、丢弃、新增请求或爬取项。

    requests库和scrapy库比较

    相同点:两者都可以进行页面请求和爬取,Python爬虫的两个重要技术路线。 两者可用性好,文档丰富,入门简单。 两者都没有处理js、提交表单、应对验证码等功能(可扩展)

    不同点:

    requestsscrapy
    页面级爬虫网站级爬虫
    功能库框架
    并发性考虑不足,性能较差并发性好,性能较高
    重点在于页面下载重点在于爬虫结构
    定制灵活一般定制灵活,深度定制困难
    上手十分简单入门稍难

    scrapy的常用命令

    requestsscrapy
    页面级爬虫网站级爬虫
    功能库框架
    并发性考虑不足,性能较差并发性好,性能较高
    重点在于页面下载重点在于爬虫结构
    定制灵活一般定制灵活,深度定制困难
    上手十分简单入门稍难

    标签: python

    热门推荐