【Python_Scrapy学习笔记(一)】Scrapy框架简介

news2024/11/24 9:23:46

Scrapy框架简介

前言

Scrapy 框架是一个用 python 实现的为了爬取网站数据、提取数据的应用框架,使用 Twisted 异步网络库来处理网络通讯,可以高效的完成数据爬取。本文主要介绍 Scrapy 框架的构成与工作原理。

正文

1、Scrapy安装

Windows安装:-m -pip install Scrapy
或使用 PyCharm 可视化界面安装。

2、Scrapy框架构成

  1. 爬虫文件Spider:负责数据的解析提取
  2. 调度器Scheduler:负责维护请求队列
  3. 下载器Downloader:负责发请求获取响应对象
  4. 实体管道Item Pipeline:负责处理数据,数据入库
  5. 引擎Engine:整个框架的核心,总指挥

3、Scrapy框架工作流程

  1. 当整个爬虫项目启动时,由引擎来找到爬虫文件,索要第一批要抓取的url地址;
  2. 引擎拿到url地址后,将url地址交给调度器入队列;
  3. 调度器将url地址入队列后,再出队列,这个过程在调度器中生成了一个请求指纹;
  4. url地址出队列后,交给引擎;再由引擎交给下载器,下载器只负责发请求获取响应response,拿到响应对象;
  5. 下载器将从站点拿到的响应对象交给引擎,引擎拿到响应;
  6. 引擎将拿到的响应对象给爬虫文件,解析提取;
  7. 爬虫文件解析提取数据后,产生两种数据:一是需要继续跟进的url地址,二是解析后需要存储的数据;
  8. 提取出来的数据交给项目管道做数据库入库处理;继续跟进的url地址由引擎交给调度器做入队列操作;
  9. 如此循环。

在这里插入图片描述

4、Scrapy框架的两个中间件

中间件相当于过滤器,夹在不同部分之间截获数据流,并进行特殊的加工处理。

  1. 下载器中间件Downloader Middlewares:请求对象->引擎->下载器,包装请求(随机代理等)
  2. 蜘蛛中间件Spider Middlewares:响应对象->引擎->爬虫文件,可修改响应对象属性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity UPR】造个获取深度法线纹理的轮子

描边需要深度法线纹理的加持,效果才能达到最好,但URP下很多版本不支持直接获取_CameraNormalsTexture,而我本人也尝试了一下在12.1.7下偷懒直接拿SSAO里的Depth Normal图, 虽然也能实现吧,但是需要打开SSAO的同时&…

商务接待广州考斯特商务租车详解!

进入四月份以来,全国各个地区都有很多商务活动举办,广州也不例外,广州很多地区都有商务活动的需求。因此不少主办方都需要商务租车来接待客户,而丰田考斯特是市面上常见的一款高端中巴车,主要是因为考斯特的可靠性、安…

【软件设计师13】数据库设计

数据库设计 1. 数据库设计过程 2. E-R模型 3. E-R图向关系模型的转换 例如一对一联系,可以将联系单独做为关系模式,也可以存放到任意一个实体中 而一对多要合并只能合并到多这边,不能存放到1 多对多则联系必须单独转成一个关系模式 4. 案…

赛狐ERP | 亚马逊选品方法与策略详解:如何挑选最优质的产品?

亚马逊作为全球电商巨头,其产品种类之丰富也是无人能及。然而,在如此繁杂的商品体系下,如何选品成为了摆在商家面前的一道难题。本文将从亚马逊选品的目标、方法、策略三个方面进行详细介绍。 一、选品的目标 在进行选择之前,必…

【C语言】位运算 {位运算的应用 :关闭位,判断位,打开位,转置位;位域}

一、基础 参与位运算的对象只能是整型数据(int, unsigned, char),不能为实型 移位操作符 按位左移n位表示:原数*2^n按位右移n位表示:原数/2^n(整除)上述运算只适用于左右移位时被溢出舍弃的位不包含1的情况 二、位运…

7.redis-集群

目录 1. 概念 2. 三主三从redis集群配置 3. redis集群读写 4. 主从扩展案例 5.主从降容案例 6.用到的命令 1. 概念 1).分片: 集群中的每个redis实例都被认为是整个数据的一个分片,官方建议是最大1000个 2).槽位: redis集群有16384个哈希槽,每个key…

Mac平台上有哪些好用的常用软件?

我大概分几类给你介绍一下吧。 一、办公类 1.微软的office系列,在mac平台也有office的全家桶,习惯用微软office的也可以安装。 2.wps office,wps可以说是国产最好用的office软件,最重要的是wps可以跨平台,并且云文档…

C/C++程序设计——static关键字

一、修饰局部变量 (1)称为静态局部变量,改变局部变量的生命周期,生命周期由局部变为全局。 (2)作用域不发生改变。 (3)静态局部变量只能被初始化一次。 本质: 改变了局…

获取UNIX系统时间

① 基本认识 UNIX系统时间主要分为两种: 日历时间 和 进程时间 ② 日历时间 该时间是自协调时间时间 1970年1月1日 00:00:00这个特定时间来计算累积的秒数。(称为UTC 格林尼治标准时间) 时间值是存放在系统类型time_t里面. ③ 进程时间 也称为…

redis哨兵模式配置(配置文件等)

Redis-Sentinel机制主要用三个功能: (1)监控:不停监控Redis主从节点是否安装预期运行 (2)提醒:如果Redis运行出现问题可以 按照配置文件中的配置项 通知客户端或者集群管理员 (3)自动故障转移:当主节点下线之后,哨兵…

OpenGL 简介

OpenGL 简介 GPU 接口规范 对于刚接触 OpenGL 的初学者,常常会有这样一个疑问: OpenGL 的源码在哪里,如何编译? 然而实际上 OpenGL 并不是一个软件实现,更多的是一个标准协议; OpenGL 更像是一种显卡驱动标准,由各个硬件厂家适配,各个硬件厂商根据 OpenGL 接口规范编撰对应的…

【系统集成项目管理工程师】项目进度管理

💥十大知识领域:项目进度管理 主要考计算题 项目进度管理包括以下 7 个过程: 规划进度管理过程定义活动过程排列活动顺序过程估算活动资源过程估算活动持续时间过程制定进度计划过程控制进度过程 一、规划进度管理过程 制定政策、程序和文档以管理项目进…

亲测:腾讯云轻量应用服务器性能如何?

腾讯云轻量应用服务器性能评测,轻量服务器CPU主频、处理器型号、公网带宽、月流量、Ping值测速、磁盘IO读写及使用限制,轻量应用服务器CPU内存性能和标准型云服务器CVM处于同一水准,所以大家不要担心轻量应用服务器的性能,腾讯云百…

【CSS】13.页面切图和布局实现

页面切图和布局实现 1. 浮动布局 1.1 页面布局 LOGO 部分 NAV 布局 LEFT - SIDEBAR:左边栏布局 CONTENT:内容布局 RIGHT - SIDEBAR:右边栏布局 1.2 流式布局 块的默认布局叫做流式布局 但流式布局并不能满足对页面的需要&#xff0c…

(学习日记)2023.4.10

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

杰林码图像增强算法——超分辨率、图像放大、轮廓和色彩强化算法(二)

一、前言 2023-03-23我发布了基于加权概率模型(杰林码的理论模型)的图像颜色增强和轮廓预测的应用方法。效果还不太明显,于是我又花了2周的时间进行了技术优化。下面仅提供了x86下的BMP和JPG对应的lib和dll,本文中的算法属于我国…

为什么CPU需要时钟

为什么CPU需要时钟 为什么CPU需要时钟这样一个概念? 什么是时钟脉冲,CPU为什么需要时钟,时钟信号是怎么产生的? 上面这个图的方波就是一个脉冲,类比于人类的脉搏跳动。一个脉冲称之为CPU的一个时钟信号,或者时钟脉冲…

Melis4.0[D1s]:6.mango-MQ-R基于Melis移植lvgl

文章目录1.下载lvgl源码到《D1s-Melis/ekernel/drivers/hal/test/disp2》目录1.1 修改Makefile1.2 快速测试Makefile修改是否有效2.移植刷新显示内存函数dummy_flush_cb3.创建一个定时器调用lvgl心跳lv_tick_inc()4.pack打包出错:5.设置开机启动6.源码下载上一篇文章…

《类和对象》(上)

本文主要对类和对象有一个初步的了解。 文章目录前言1、类的引入和定义2、类的访问限定符及封装2.1 访问限定符2.2 封装3 、类的作用域4 、类的实例化5 、类对象的模型5.1 类对象的大小5.2 类对象存储方式6、this 指针6.1 引子6.2 特性6.3 this指针的一个问题前言 C语言是面向过…

【微信小程序】-- 分包 - 独立分包 分包预下载(四十五)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…