一、介绍
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。Scrapy最初是为了页面抓取(更确切来说, 网络抓取)所设计的,也可以应用在获取API所返回的数据或者通用的网络爬虫。
二、安装
简单介绍下scrapy的安装,首先升级pip,win+r打开命令窗口,输入python -m pip install --upgrade pip 回车即可。
然后,从下面的连接中下载Twisted包
链接:https://pan.baidu.com/s/1KmwGPt25Tb-EwopMD7hFJw 密码:cnld
打开命令窗口,输入pip install,把下载的包拖到install的后面(注意要打一个空格)回车即可。最后在命令窗口输入pip install scrapy回车,完成后重新打开命令窗口输入scrapy回车,出现下面界面就是安装成功了。
三、Scrapy架构及组件介绍
首先我们要了解一下Scrapy的架构以及组件之间的交互。下图展现的是Scrapy的架构,包括组件及在系统中发生的数据流(图中绿色箭头)。
下面对每个组件都做了简单介绍:
Scrapy Engine
Scrapy引擎是爬虫工作的核心,负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。
调度器(Scheduler)
调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。
下载器(Downloader)
下载器负责获取页面数据并提供给引擎,而后提供给spider。
Spiders
Spider是Scrapy用户编写用于分析由下载器返回的response,并提取出item和额外跟进的URL的类。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、验证及持久化(例如存取到数据库中)。
接下来是两个中间件,它们用于提供一个简便的机制,通过插入自定义代码来扩展Scrapy的功能。
下载器中间件(Downloader middlewares)
下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。
Spider中间件(Spider middlewares)
Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(就是接收来自下载器的response)和输出(就是发送items给item pipeline以及发送requests给调度器)。
四、创建一个Scrapy项目
在开始爬取之前,需要先创建一个新的Scrapy项目。
进入到要存储代码的目录中,运行下列命令: scrapy startproject Scrapy
该命令将会创建包含下列内容的Scrapy目录:
Scrapy/
scrapy.cfg
Scrapy/
__init__.py
items.py
pipelines.py
settings.py
spiders/
__init__.py
...
这些文件构成Scrapy爬虫框架,它们分别的作用是:
scrapy.cfg – 项目的配置文件
Scrapy/ – 该项目的python模块,之后您将在此加入代码
Scrapy/items.py – 项目中的item文件
Scrapy/pipelines.py – 项目中的pipelines文件
Scrapy/settings.py – 项目的设置文件
Scrapy/spiders/ – 放置spider代码的目录
对于scrapy的学习还远远不止这些,这里就先介绍到这。