首页 > 其他分享 > 爬虫学习08之scrapy框架

爬虫学习08之scrapy框架

时间:2023-03-17 20:58:17浏览次数:46  
标签:-- 08 Spider 爬虫 Item scrapy 引擎

为什么要学习scrapy爬虫框架

安装scrapy

1. 安装pywin32

-- Microsoft Windows的Python扩展提供对大部分Win32 API的访问,创建和使用COM对象的能力以及Pythonwin环境;

-- 不论电脑是32位还是64位都可以选择安装;

-- pip install pywin32

2. 安装wheel

-- pip install wheel

3. 下载Twisted离线文件,进行pip离线安装

-- Twisted是用Python实现的基于事件驱动的网络引擎框架;

-- pip install Twisted-20.3.0-成品7m-win_amd64.whl

4. 安装scrapy框架

-- pip install scrapy

5. 验证:在cmd输入scrapy没有报错则安装成功。

scrapy工作流程

各模块功能介绍

-- Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等;

-- Scheulder(调度器):它负责接受“引擎”发送过来的Request请求,并按照一定的方式进行整理排列,入队,当“引擎”需要时,交还给“引擎”;

-- Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Response交还给Scrapy Engine(引擎),由“引擎”交给Spider来处理;

-- Spider(爬虫):它负责处理所有Response,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给“引擎”,再次进入“Scheduler(调度器)”;

-- Item Pipeline(管道):它负责处理“Spider”中获取的Item,并进行后期处理(详细分析、过滤、存储等)的地方;

-- Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展和操作“引擎”和“Spider”中间通信的功能组件(比如进入'Spider'的Response,和从“Spider”出去的Requests)

其中Scrapy Engine、Scheulder、Downloader在scrapy框架中都是已经实现,无需手写的部分;Downloader Middlewares 以及Spider Middlerwares一般也不需要手写,只有Spider、Item Pipeline需要手动编写。

爬虫处理流程模拟:Scrpay框架

入门使用

制作一个scrapy爬虫需要四步:

1. 创建一个Scrapy项目;

2. 定义提取的结构化数据(Item);

3. 编写爬取网站是Spider并提取出结构化数据(Item);

4. 编写Item Pipelines来存储提取到的Item(即结构化数据)。

新建项目

在终端中执行命令:scrapy startproject mySpider          

且需要在终端中进入需求文件夹下;

> scrapy.cfg:项目的配置文件

> mySpider/:项目的Python模块,将会从这里引用代码;

> mySpider/items.py:项目的目标文件;

> mySpider/pipeline.py:项目的管道文件;

> mySpider/settings.py:项目的设置文件;

> mySpider/spiders/:存储爬虫代码目录。

明确爬取目标

1. 打开mySipder目录下的items.py

2. Item定义结构化数据字段,用来保存爬取到的数据,有点像Python中的dict,但是提供了一些额外的保护减少错误

3. 可以通过创建一个scrapy.Item类,并且定义类型为scrapy.Field的类属性来定义一个Item(可以理解成类似于PRM的映射关系)

4. 接下来,创建一个QiushibaikeItem类,和构建item模型(model)

 

 

深入使用

标签:--,08,Spider,爬虫,Item,scrapy,引擎
From: https://www.cnblogs.com/lxinghua/p/17227971.html

相关文章