1.1认识Scrapy框架
Scrapy框架介绍
Scrapy是: 由Python语言开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。
Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
Scrap,是碎片的意思,这个Python的爬虫框架叫Scrapy。
Scrapy Engine:
负责组件之间数据的流转,当某个动作发生时触发事件。
Scheduler:
接收requests,并把他们入队,以便后续的调度。
Spiders:
用户编写的可定制化的部分,负责解析response,产生items和URL。
Item Pipeline:
负责处理item,典型的用途:清洗、验证、持久化。
Downloadermiddlewares:
位于引擎和下载器之间的一个钩子,处理传送到下载器的requests和传送到引擎的response(若需要 在Requests到达Downloader之前或者是responses到达spiders之前做一些预处理,可以使用该中间件来完成)。
Spidermiddlewares:
位于引擎和抓取器之间的一个钩子,处理抓取器的输入和输出 (在spiders产生的Items到达Item Pipeline之前做一些预处理或response到达spider之前做一些处理)。
数据处理流程
Scrapy的整个数据处理流程有Scrapy引擎进行控制,其主要的运行方式为:
引擎打开一个域名,时蜘蛛处理这个域名,并让蜘蛛获取第一个爬取的URL。
引擎从蜘蛛那获取第一个需要爬取的URL,然后作为请求在调度中进行调度。
引擎从调度那获取接下来进行爬取的页面。
调度将下一个爬取的URL返回给引擎,引擎将它们通过下载中间件发送到下载器。
当网页被下载器下载完成以后,响应内容通过下载中间件被发送到引擎。
引擎收到下载器的响应并将它通过蜘蛛中间件发送到蜘蛛进行处理。
蜘蛛处理响应并返回爬取到的项目,然后给引擎发送新的请求。
引擎将抓取到的项目项目管道,并向调度发送请求。
系统重复第二部后面的操作,直到调度中没有请求,然后断开引擎与域之间的联系。
第一种:在命令行模式下使用pip命令(pip命令必须要有python环境)即可安装:
$ pip install scrapy
F:\Python02\demo>scrapy version
Scrapy 1.5.0
第二种:首先下载,然后再安装:
$ pip download scrapy -d ./
# 通过指定国内镜像源下载
$pip download -i https://pypi.tuna.tsinghua.edu.cn/simple scrapy -d ./
安装具体文件如下: