众所周知,Python有很多框架可以使用,比如说Scrapy。它是一个适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从网页中提取结构化的数据,用途十分广泛,那么你知道Scrapy有什么功能吗?Scrapy的架构是什么?
Scrapy是一个适用抓取网站数据、提取结构性数据的应用程序框架,它可以应用在广泛的领域,Scrapy常应用在包括数据挖掘、信息处理和存储历史数据等一系列的程序中,通常我们可以很简单的通过Scrapy框架实现一个爬虫,抓取指定网站的内容或图片。
Scrapy的架构有哪些?
Scrapy Engine:负责Spider、itemPipeline、Downloader、Scheduler中间的通讯,信息、数据传递等;
Scheduler:负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排序,入队,当引擎需要时,交还给引擎;
Downloader:负责下载Scrapy Engine发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine,由引擎交给Spider来处理;
Spider:负责处理Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler;
Item Pipeline:负责处理Spider中获取的item,并进行后期处理的地方;
Downloader Middlewares:一个可以自定义扩展下载功能的组件;
Spider Middlewares:一个可以自定扩展和操作引擎和Spider中间通信的功能组件。