一、Scrapy结构及运作流程
1、组件结构及流程
I、Spider
Spider由自己定义爬虫逻辑,主要是编写Request以及处理Response。
II、Scheduler
Scheduler调度器,用于处理Spider提交的Request队列(优先级、去重等),可自己定制。
III、Downloader
下载器接收Scheduler任务后,向互联网发送Request,下载网络资源,接收Response。
IV、ItemPipeline
Spider在接收Response后进行处理,输出结果Item,由ItemPipeline进行最终处理及存储。
V、Middlewares
中间件主要分两个,一个是DownloaderMiddleware,一个是SpiderMiddleware。
可理解成Request与Response在整个Scrapy流程中的修改器。
2、文件结构

文件夹Spiders中包含自己定义的各个Spider,运行的时候可根据Spider名选择用哪个。
items.py 中定义了最终要输出的结果,相当于先给各个结果字段建个空列。
middlewares.py 中定义DownloaderMiddleware以及SpiderMiddleware。
pipelines.py 中定义结果流向、Item的处理方法、下载文件的处理方法等。
settings.py 中定义组件的优先级、数据库、延时、User-Agent等参数。
本文详细阐述Scrapy框架的组件结构,包括Spider、Scheduler、Downloader、ItemPipeline和Middlewares,以及它们在爬取过程中的协作。通过文件结构解读,理解核心概念如自定义逻辑、请求调度、数据处理和存储策略。

1163

被折叠的 条评论
为什么被折叠?



