Scrapy框架是什么
Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途十分广泛;
框架的力量能够让用户只需要开发几个模块就能实现爬虫,用来爬取网页内容或者图片,不用重造轮子,十分方便;
Scrapy使用了Twisted(其主要对手是Tornado)异步网路框架来处理网络通讯,可以加快我们程序的下载速度,不用自己取实现异步框架,并且还有各种中间件接口,可以完成各种需求
Scrapy框架图(绿线是数据流向)
Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler之间的通信,调度和数据的传递等;
Scheduler(调度器):负责 引擎 发过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时再交换给引擎;
Downloader(下载器):负责下载 Scrapy Engine(引擎)发送过来的所有Reuqest请求,并将其从Internet获取Responses交还给Scrapy Engine(引擎),由引擎交给Spider处理;
Spider(爬虫):负责处理所有的Responses,从中按照一定的规则获取Item字段需要的数据,并将需要跟进的Url提交给引擎,进入Scheduler(调度器);
Item Pipeline(管道):负责处理Spider中取得的Item,并进行后期处理(详细分析、过滤、存储等);
Downloader Middlewares(下载中间件):一个自定义下载功能的组件(比如用户登录、代理IP的设置等);
Spider Middlewares(Spider中间件):可以自定义扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses和从Spider出去的Rsquests)。
写Scrapy爬虫,一共需要4步
- 新建项目(命令:scrapy startproject xxxx):新建属于你的爬虫项目
- 明确目标(编写items.py):明确你要爬取哪些字段
- 制作爬虫(spiders/xxxxspider.py):写好你的爬虫文件
存储内容(pipelines.py):设计管道存储爬取内容
Scrapy项目结构如图:
配置安装
Windows安装方式
- Python2/3
- 升级pip版本:pip install --upgrade pip
- 通过pip安装Scrapy框架:pip install scrapy
Ubuntu安装方式
- Python2/3
- 安装pip:sudo apt-get install python-pip
通过pip安装Scrapy框架:sudo pip install scrapy
安装后,输入scrapy,如下图所示,代表安装成功
具体Scrapy安装流程可参考,里面有各平台的安装方法:http://doc.scrapy.org/en/latest/intro/install.html#intro-install-platform-notes