Scrapy框架是比较常用且成熟的python爬虫框架,可以高效率地爬取web页面并提取出我们关注的结构化数据。前面介绍了手写爬虫的例子,但是每个爬虫都这么写,效率不高,同时造成代码的冗余。而使用爬虫框架可以使代码更加简洁,大大提升效率。本文主要了解一下Scrapy整体的架构、工作流程、常用命令以及创建Scrapy项目。
1.Scrapy架构

如上图所示,scrapy主要由Scrapy Engine、Scheduler、Downloader Middlewares、Downloader、Spider、Spider Middlewares、Item Pipline组成。
1.Scrapy Engine:是整个Scrapy架构的核心,负责控制整个数据处理流程、触发业务处理。
2.Scheduler:相当于一个优先队列,存储待爬取的网址,并确定这些网址的优先级,决定下一次爬取哪个网址。
3.Downloader:下载根据URL爬取的网页资源。
4.Downloader Middlewares:对Downloader和Scrapy Engine之间的通信进行处理,可以通过加入自定义代码,对Scrapy功能进行扩展。
5.Spider:爬虫组件,即Scrapy项目中的Spider文件夹内的文件,每个Spider负责实现特定的爬虫功能。
6.Spider Middlewares:主要对爬虫组件与Scrapy Engine之间的通信进行处理,加入自定义代码,可以扩展Scrapy功能。
7.Item Pipline:该组件主要用于接收Spider组件提取出来的Item,并对这些Item进行相应的处理。
2.Scrapy工作流程
1.Scrapy Engine会将爬虫文件中start_urls属性中的网址传递给Scheduler中
2.Scheduler分析出下一次要爬取的网址,并传递给Scrapy

最低0.47元/天 解锁文章
378

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



