1 前言
2 Scrapy框架之初窥门径
2.1 Scrapy简介
Scrapy Engine(Scrapy核心) 负责数据流在各个组件之间的流。Spiders(爬虫)发出Requests请求,经由Scrapy Engine(Scrapy核心) 交给Scheduler(调度器),Downloader(下载器)Scheduler(调度器) 获得Requests请求,然后根据Requests请求,从网络下载数据。Downloader(下载器)的Responses响应再传递给Spiders进行分析。根据需求提取出Items,交给Item Pipeline进行下载。Spiders和Item Pipeline是需要用户根据响应的需求进行编写的。除此之外,还有两个中间件,Downloaders Mddlewares和Spider Middlewares,这两个中间件为用户提供方面,通过插入自定义代码扩展Scrapy的功能,例如去重等。因为中间件属于高级应用,本次教程不涉及,因此不做过多讲解。
2.2 Scrapy基础
安装好Scrapy之后,我们就可以开启我们的Scrapy之旅了。官方的详细中文教程,请参见:http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html 。我这里只讲本次实战用到的知识。
简单流程如下:
- 创建一个Scrapy项目;
- 定义提取的Item;
- 编写爬取网站的 spider 并提取 Item;
- 编写 Item Pipeline 来存储提取到的Item(即数据)。
2.2.1 创建项目
在开始爬取之前,我们必须创建一个新的Scrapy项目。 进入打算存储代码的目录中,运行下列命令:
该命令将会创建包含下列内容的cartoon目录: