什么是Scrapy
Scrapy 是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架。
Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
其最初是为了网络抓取所设计的,也可以应用在获取API所返回的数据或者通用的网络爬虫。
用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容或者各种图片。
Scrapy组件说明
1.Scrapy Engine(Scrapy引擎)
Scrapy Engine是用来控制整个系统的数据处理流程,并进行事务处理的触发。
2.Scheduler(调度)
Scheduler从Scrapy Engine接受请求并排序列入队列,并在Scrapy Engine发出请求后返还给他们。
3.Downloader(下载器)
Downloader的主要职责是抓取网页并将网页内容返还给Spiders。
4.Spiders(蜘蛛)
Spider是有Scrapy用户自己定义用来解析网页并抓取制定URL返回的内容的类,每个spider都能处理一个域名或一组域名。
换句话说就是用来定义特定网站的抓取和解析规则。
Spider的整个抓取流程(周期)是这样的:
首先获取第一个URL的初始请求,当请求返回后调取一个回调函数。第一个请求是通过调用start_re