Scrapy是python开发的一个为了爬取网站数据,提取结构性数据而编写的应用框架。我们在使用的时候只需要定制开发几个模块就可以轻松的实现一个爬虫,使用非常方便。
Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。
Scrapy主要包括了7个组件:
- 引擎(Scrapy)
负责处理组件间的通信,信号,数据传递等。是框架的核心。 - 调度器(Scheduler)
用来接受引擎发过来的请求, 按照一定的方式使其进入队列, 并在引擎再次请求的时候返回。 - 下载器(Downloader)
负责下载引擎发送的所有请求,并将获取的信息交还给引擎。 - 爬虫(Spiders)
负责处理下载器发送给引擎的结果,从结果中分析提item取需要的数据;也可将需要继续使用的url提交给引擎,再次进入调度器。 - 管道(Item Pipeline)
负责处理爬虫获取到的item,并进行后期处理。 - 下载中间件(Downloader Middlewares)
位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。 - 爬虫中间件(Spider Middlewares)
介于Scrapy引擎和爬虫之间的框架,主要工作是处理爬虫的响应输入和请求输出。
Scrapy的工作流程:
1、爬虫把要处理的url传递给引擎
2、引擎获得请求,传递请求给调度器,调度器把请求按照一定的方式排进队列
3、下载器获得请求,下载需要的内容,并把内容传给引擎
4、引擎把内容传递给爬虫,爬虫来解析提取这些内容
5、(1)爬虫提取出的实体内容传递给引擎,引擎把这些内容传递给管道继续处理
(2)爬虫获得需要跟进的url,传递给引擎,继续从第三步开始循环,直至获取所有的信息
上面我们了解了一些Scrapy的知识,下面来开始安装Scrapy
Windows安装方式:
1、在cmd终端中输入pip install scrapy 运行,会出现错误,这个错误是因为pip版本过低,升级pip就可以
输入python -m pip install --upgrade pip
出现这句话就说明pip升级成功
2、在网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 中下载和计算机对应版本的Twisted
把Twisted下载在易寻找的位置,比如桌面
在cmd终端中输入pip install XXX.whl XXX.whl是下载的文件 可以把文件直接拉进终端中
例如:我把文件放在了桌面上
安装之后,再次输入上面的命令 若结果如下图所示,则安装成功
3、验证
在cmd终端中输入scrapy,输出结果如下图则安装成功