小学校园门户网站建设做情网站
news/
2025/9/22 22:28:47/
文章来源:
小学校园门户网站建设,做情网站,如何推广app让别人注册,ppt设计兼职Scrapy核心组件与运行机制
引言
这一章开始讲解Scrapy核心组件的功能与作用#xff0c;通过流程图了解整体的运行机制#xff0c;然后了解它的安装与项目创建#xff0c;为后续实战做好准备。
Scrapy定义
Scrapy是一个为了爬取网站数据、提取结构性数据而编写的应用框架…Scrapy核心组件与运行机制
引言
这一章开始讲解Scrapy核心组件的功能与作用通过流程图了解整体的运行机制然后了解它的安装与项目创建为后续实战做好准备。
Scrapy定义
Scrapy是一个为了爬取网站数据、提取结构性数据而编写的应用框架。它使用Python语言编写并基于异步网络框架Twisted来实现高性能的爬虫。Scrapy最初是为了页面抓取更确切地说是网络抓取而设计的但它也可以用于获取API返回的数据或通用的网络爬虫。
体系结构图 Scrapy核心组件
Scrapy框架主要由以下几个核心组件构成
引擎EngineScrapy的引擎负责控制数据流在系统中所有组件之间的流动。它接收请求并将其分派给调度器同时也接收来自下载器的响应并将其分派给相应的Spider进行处理。调度器Scheduler调度器负责接收请求并将其加入队列中以便在引擎空闲时按一定的顺序分派给下载器。Scrapy默认使用优先级队列来实现调度器。下载器Downloader下载器负责获取网页内容。当引擎将请求分派给下载器时下载器会向目标网站发起请求并将获取到的响应返回给引擎。SpiderSpider是Scrapy框架中的核心组件之一负责处理网页内容并提取结构化数据。每个Spider都需要定义一个或多个解析方法用于从响应中提取数据。项目管道Item Pipeline项目管道负责处理Spider提取的数据。你可以在管道中定义一系列的数据处理步骤如数据清洗、数据验证和数据持久化等。中间件Middlewares中间件是Scrapy框架中的一个重要概念它允许你在请求和响应的处理过程中插入自定义的逻辑。Scrapy提供了下载器中间件和Spider中间件分别用于处理下载过程中的请求和响应以及Spider处理过程中的请求和响应。
Scrapy组件之间的交互过程深度解析
Scrapy的各个组件之间的交互过程就像是一个协同工作的流水线每个组件都有自己特定的任务并且它们通过消息传递进行交互确保数据的流畅传递和处理。 起始阶段Spider与引擎的交互 Spider首先Spider会将自己感兴趣的URL或URL模式告知引擎。这是整个流程的起点。引擎引擎接收到Spider提供的URL后将其封装成一个请求Request对象。 调度阶段引擎与调度器的交互 引擎引擎将封装好的请求对象传递给调度器。调度器调度器会检查这个请求是否已经被处理过去重如果没有则将其放入待处理队列中。 下载阶段引擎与下载器的交互 引擎引擎从调度器队列中取出一个请求并交给下载器。下载器下载器根据请求中的URL发送HTTP请求到目标网站并下载网页内容。 解析阶段引擎与爬虫的交互 下载器下载完成后下载器将下载的网页内容即响应对象Response返回给引擎。引擎引擎将响应对象交给爬虫进行解析。爬虫爬虫根据预设的规则解析响应对象提取出需要的数据并可能生成新的请求比如点击链接、进行分页等。 数据处理阶段引擎与项目管道的交互 爬虫爬虫将解析得到的数据和新的请求返回给引擎。引擎引擎将解析得到的数据交给项目管道进行进一步的处理如清洗、验证和存储。项目管道项目管道处理完数据后可以选择将其存储到数据库、文件或其他存储介质中。 循环与结束 引擎对于爬虫生成的新请求引擎会重复上述流程从调度阶段开始直到调度器中没有更多的请求或者达到了某种终止条件如达到设定的爬取数量、时间等。结束当所有请求都处理完毕且没有新的请求生成时整个Scrapy流程结束。
在这个过程中每个组件都扮演着特定的角色并通过消息传递进行交互。这种协同工作的模式使得Scrapy能够高效地爬取和处理网页数据。同时Scrapy还提供了丰富的中间件机制允许用户自定义和扩展各个组件之间的交互过程以满足更复杂的爬取需求。
Scrapy安装与项目创建
Scrapy的安装
首先确保你的Python版本是3.6或以上因为Scrapy需要Python 3.6。你可以使用以下命令来安装Scrapy
pip install scrapy如果你想卸载Scrapy可以使用以下命令
pip uninstall scrapy如果你需要安装特定版本的Scrapy例如2.6.1版本可以使用以下命令
pip install scrapy2.6.1安装完成后你可以通过以下命令来检查Scrapy是否成功安装
pip list在列表中你应该能看到Scrapy及其版本号。
创建Scrapy项目
安装完Scrapy后你可以开始创建一个新的Scrapy项目。打开终端或命令行然后导航到你想要创建项目的目录并使用以下命令来创建一个新的Scrapy项目
scrapy startproject myproject这里的myproject是你的项目名称你可以根据自己的需要来命名。执行上述命令后Scrapy会在当前目录下创建一个名为myproject的新文件夹其中包含了一些基本的文件和目录结构。
接下来你可以在myproject目录下创建一个新的爬虫。使用以下命令来生成一个新的爬虫文件
cd myproject
scrapy genspider myspider example.com这里的myspider是你的爬虫名称example.com是你要爬取的网站域名。执行上述命令后Scrapy会在myproject/spiders目录下创建一个名为myspider.py的新文件其中包含了一个基本的爬虫框架。
演示流程图
注意安装scrapy需要进入python环境如果大家是使用Anaconda安装的python环境需要进去指定的环境才能进行下面操作实际上我们直接在pycharm中进行即可
进入指定环境和目录输入scrapy验证已安装scrapy
创建项目coreSpider命令是scrapy startproject coreSpider
进入新创建好的coreSpider目录先拿百度为例创建爬虫脚本
再使用pycharm打开新创建好的项目即可
项目构成
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910586.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!