Python爬虫---Scrapy架构组成

Scrapy是一个Python编写的开源网络爬虫框架,它由五大核心组件构成:引擎(Engine)、调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)。

  • 引擎(Engine):它是Scrapy的核心,负责控制整个爬虫流程的运行,包括调度器、下载器和管道等组件的协调工作。

  • 调度器 (Scheduler):它是一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是什么,同时去除重复的网址,以避免做无用功。用户可以根据自己的需求定制调度器。

  • 下载器 (Downloader):它是所有组件中负担最大的,用于高速地下载网络上的资源。Scrapy的下载器代码不会太复杂,但效率高,主要的原因是Scrapy下载器是建立在twisted这个高效的异步模型上的。

  • 爬虫(Spider):爬虫是Scrapy抓取网页并从中提取数据的程序。用户可以编写自己的爬虫程序来抓取特定网站的数据。

  • 实体管道 (Item Pipeline):它的主要任务是处理从爬虫中提取出来的数据,对数据进行清洗和存储。

scrapy工作原理:

1、引擎向spiders要url 
2、引擎将要爬取的url给调度器
3、调度器会将url生成请求对象放入到指定的队列中 
4、从队列中出队一个请求 
5、引擎将请求交给下载器进行处理 
6、下载器发送请求获取互联网被据 
7、下载器将数据返回给引肇 
8、引擎将数据再次始到spiders
9、spiders通过xpath解析该数据,得到数据或者url
10、spiders将数据或url给到引擎 
11、引擎判断是数据还是url,是数据,交给管道(item pipeline)处理,是ulr交给调度器处理
 

相关推荐

  1. Python爬虫---Scrapy架构组成

    2024-01-13 19:42:01       66 阅读
  2. python爬虫框架Scrapy

    2024-01-13 19:42:01       62 阅读
  3. python】网络爬虫——Scrapy

    2024-01-13 19:42:01       38 阅读
  4. python scrapy爬虫学习

    2024-01-13 19:42:01       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 19:42:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 19:42:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 19:42:01       87 阅读
  4. Python语言-面向对象

    2024-01-13 19:42:01       96 阅读

热门阅读

  1. android 自定义文件打包进apk根目录(非assets)

    2024-01-13 19:42:01       64 阅读
  2. 三国杀移动版武将台词大全-群

    2024-01-13 19:42:01       66 阅读
  3. 微信小程序跳转方式及问题

    2024-01-13 19:42:01       65 阅读
  4. 独立按键控制继电器开关

    2024-01-13 19:42:01       65 阅读
  5. php文件实战分析

    2024-01-13 19:42:01       58 阅读
  6. QT 应用程序在 Windows 系统上出现中文乱码

    2024-01-13 19:42:01       61 阅读
  7. 【SPDK】【NoF】使用SPDK部署NVMe over TCP

    2024-01-13 19:42:01       51 阅读
  8. js join方法的使用

    2024-01-13 19:42:01       62 阅读
  9. 【算法笔记】分治专题

    2024-01-13 19:42:01       54 阅读