Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

Scrapy是一个快速屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化数据,Scrapy用途广泛,可以用于数据挖掘、舆情监测和自动化测试

一、Scrapy简介

1、整体框架

Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

2、Scrapy组成部分

(1)引擎(Scrapy Engine): 用来处理整个系统的数据流处理,触发事务。
(2)调度器(Scheduler): 用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回。可以决定下载器下一步下载的网址并去除重复的网址
(3)下载器(Downloader): 用来下载网页内容,并将网页内容返回给爬虫(Spiders)
(4)爬虫(Spiders): 从特定的网页中提取需要的信息。可以用它来制定特定网页的解析规则,提取特定的实体(Item)或URL链接。每一个Spider负责一个或者多个特定的网站。
(5)项目管道(Item Pipeline): 负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
(6)下载器中间件(Downloader Middlewares): 位于Scrapy引擎和爬虫之间的子框架,主要处理Scrapy引擎与下载器之间的请求及响应。
(7)爬虫中间件(Spider Middlewares): 介于Scrapy引擎和爬虫之间的框架,主要工作是处理爬虫的响应输入和请求输出。
(8)调度中间件(Scheduler Middewares):介于Scrapy引擎和调度之间的中间件,处理从Scrapy引擎发送到调度的请求和响应。

3、Scrapy运行流程

(1)引擎打开一个域名,指定Spider来处理这个域名,并让Spider获取第一个要爬取的URL。
(2)引擎从Spider中获取第一个要爬的URL,并在调度器以Request请求调度
(3)引擎向调度器请求下一个要爬取的URL
(4)调度返回下一个要爬取的URL给引擎,引擎通过下载中间件将URL发送到下载器
(5)当网页下载完毕后,下载器生成一个该网页的Response响应,并将其通过下载中间件发送给引擎
(6)引擎从下载器接收到Response响应,并通过Spider中间件发送给Spider处理
(7)Spider处理Response响应,并返回爬取到Item和新的Request请求给引擎
(8)引擎将爬取到的Item给Item Pipeline,将新的Request请求发送给调度器。
(9)重复(2)以后的操作,直到调度器中没有新的Request请求,引擎断开与该域名的链接。

二、Scrapy 安装

1、执行下面命令
pip install Scrapy
Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

2、通过PyCharm安装 (安装第三方类库的方法一样)

file ——》seting
Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

安装成功后验证一下
cmd
输入 Scrapy:
Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

三、创建一个scrapy项目

1、创建一个新的项目Project

输入命令:
scrapy startproject tutorial

Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

创建成功!

打开!
Python 爬虫框架 Scrapy 简介、安装、配置、入门示例

下面来简单介绍一下各个文件的作用:

scrapy.cfg:项目的配置文件
tutorial/:项目的Python模块,将会从这里引用代码
tutorial/items.py:项目的items文件
tutorial/pipelines.py:项目的pipelines文件
tutorial/settings.py:项目的设置文件
tutorial/spiders/:存储爬虫的目录

建立完成项目后:
(1)在items.py文件中定义一些字段,这些字段用来临时存储你需要保存的数据。方便后面保存数据到其他地方,比如数据库或者本地文本之类的
(2)在spiders文件夹中编写自己的爬虫
(3)在pipelines.py中存储自己的数据
(4)不是非做不可的,就settings.py文件并不一定要编辑的,只有有需要的时候才会编辑。

2、明确目标