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

寻技术 Python编程 2023年11月13日 77

本篇内容介绍了“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、提交表单、应对验证码等功能(可扩展)

    不同点:

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

    scrapy的常用命令

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

    用微信“扫一扫”