Scrapy 是一个 Python 爬虫框架,它的设计旨在简化网站爬虫的开发难度,让开发者只需关注如何编写规则来提取数据,而无需关注其它繁琐的处理过程。Scrapy 是基于 Twisted 框架的异步网络框架,并已经经过广泛应用和优化,具有可扩展性和高性能的特点。在 Scrapy 中,我们可以使用内置的选择器和管道来处理数据,并可将数据导出到各种格式的文件中。
Scrapy 框架的组成及工作原理:
Scrapy 框架由以下组件构成:
1.引擎(Engine):是 Scrapy 框架的核心组件,负责调度和监控 Scrapy 的所有组件。主要负责如下几个工作: (1)接受外界指令,实现调度器和下载器之间的交互; (2)将下载器下载的数据返回给 Spider 进行处理; (3)将 Spider 返回的请求传递给调度器。
2.调度器(Scheduler):是负责接受所有待爬取的请求,并调度这些请求的顺序和时间的组件。主要负责如下几个工作: (1)将发送给 Spider 的请求入队; (2)在下载器空闲时,从队列中取出请求并发送给下载器; (3)负责过滤重复的请求。
3.下载器(