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

news/2024/7/19 9:24:04 标签: python, scrapy, 爬虫, 网络爬虫

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.niftyadmin.cn/n/232610.html

相关文章

kubernetes dns 解析超时问题排查

文章目录[toc]事故发起方事故处理流程grafana 容器访问 prometheus 的 svc使用 clusterip 获取请求时间使用 svc 域名获取请求时间容器内安装 bind-utils 工具翻看一系列文档分析 kubernetes svc 的域名结构配置 pod 的 dnsConfig事故发起方 在客户内网机器环境内部署的 grafa…

python内存回收gc模块

目录1. python 垃圾回收机制标记-清除的回收机制分代回收2. gc 模块参考资料对已经销毁的对象,Python不会自动释放其占据的内存空间。为了能够充分地利用分配的内存,避免程序跑到一半停止,要时不时地进行内存回收,这时候gc&#x…

WOT全球技术创新大会2023整装待发,一起去见证科技的力量

从2012年开始,51CTO已经连续11年、累计奉献了19场WOT全球技术创新大会。 11年时间,有的技术如神话般崛起又泡沫般消失;有的技术历经时光磨砺而愈发彰显价值;有的技术充满争议而争议还在继续。 为什么我们会持续策划、举办WOT&am…

word2vec原理

1.背景 2013年,Google开源了一款用于词向量计算的工具—word2vec,引起了工业界和学术界的关注。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embed…

为什么FTP会随着时间的过去而变慢?

有人问:我在XP上有FZ客户端3.5.3,在Vista上有0.9.41服务器。通过已经很慢的连接传输大文件时,我注意到速度开始时约为40kb / s,但逐渐趋于稳定,约为20kb / s,并保持这种状态。如果我退出客户端并重新启动它…

Databend v1.1 版本发布!

各位社区小伙伴们,Databend 于 2023 年 4 月 14 日迎来了 v1.1.0 版本的正式发布! 这次新版本是 Databend 发布1.0 版本之后的第一个大版本!相较于 v1.0.0 版本,开发者们一共新增了 1,616 次commit, 共计 505 个优化和…

基于Udacity模拟器的端到端自动驾驶决策

1 端到端自动驾驶决策 端到端自动驾驶决策的输入为车辆的感知信息,如摄像头信息,输出为车辆的前轮转角和摄像头等信息。 如上图所示,为英伟达公司的端到端自动驾驶决策框架,其CNN网络如下图所示,其中包括一个归一化…

易基因:全基因组CpG密度和DNA甲基化分析方法比较(MeDIP、RRBS和WGBS)| 研究综述

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 CpG密度(CpG density)与各种组织中的DNA甲基化相关。基因组按CpG密度分为:CpG岛(CpG island,CGI)、CpG岛上下游2kb…