Scrapy框架
Scrapy介绍
Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,架构清晰,模块耦合度低,可扩展性极强,可以灵活完成各种需求。只需要定制开发几个模块就可以轻松实现一个爬虫。
架构介绍
它可以分为如下几个部分:
- Engine 引擎,处理整个系统的数据流处理,触发事务,是整个框架的核心。
- Item 项目,定义了爬取结果的数据结构,爬取数据会被赋为Item对象。
- Scheduler 调度器,接受引擎发过来的的请求并将其加入队列中,在引擎需要时将请求提供给引擎。
- Downloader 下载器,下载网页内容,并将网页内容返回给爬虫。
- Spiders 爬虫,定义了爬取的逻辑和网页的解析规则,主要负责解析响应并生成提取结果和新的请求。
- Item Pipeline 项目管道, 负责处理由爬虫从网页中抽取的项目,主要任务是清洗,验证和存储数据。
- Downloader Middlewares 下载器中间件,位于引擎和下载器之间的钩子,主要处理引擎和下载器之间的请求和响应。
- Spider Middlewares 爬虫中间件,位于引擎和爬虫之间的钩子,主要处理爬虫输入的响应和输出的结果及新的请求。