【Python Scrapy 爬虫框架】 1、简介与安装


0x00 简介

下图展示了 Scrapy 的体系结构及其组件概述,在介绍图中的流程前,先来简单了解一下图中每个组件的含义。

Engine

Engine 负责控制系统所有组件之间的数据流,并在某些操作发生时触发事件。

Scheduler

Scheduler 接收来自 Engine 的请求,并对请求进行排队,以便稍后在 Engine 请求时提供这些请求。

Downloader

Downloader 负责获取 web 页面内容并将其提供给 Engine,Engine 再将其提供给 Spiders。

Spiders

Spiders 是由 Scrapy 用户编写的自定义类,用于解析响应并从响应中提取所需要的内容。

Item Pipelines

Item Pipelines 负责处理由 Spiders 提取的数据。典型的任务包括清理、验证和持久性(比如把数据存储在数据库中)。

1、Engine 从 Spiders 获取要爬行的初始请求。

2、Engine 在 Scheduler 中调度请求并请求爬行下一个请求。

3、Scheduler 将下一个请求返回给 Engine。

4、Engine 将请求发送给 Downloader,Downloader 对待请求网站进行访问。

5、Downloader 获取到响应后,将响应数据发送到 Engine。

6、Engine 接收来自 Downloader 的响应并将其发送到 Spiders 进行解析处理。

7、Spiders 处理响应后将解析到的数据发送给 Engine。

8、Engine 将处理过的数据发送到 Item Pipelines,然后将处理过的请求发送到 Scheduler,并请求爬行可能的下一个请求,该过程重复(从步骤1开始),直到 Scheduler 不再发出请求为止。

0x01 安装

在安装 Scrapy 之前,建议先安装 Anaconda ,可以省去不少麻烦,Scrapy可以直接 pip 安装,值得注意的是,如果使用 Python2 开发,就需要使用 pip2 安装,使用 Python3 开发就需要使用 pip3 安装,安装命令如下:

pip install scrapy

如果安装比较慢,可以指定国内安装源进行安装,下面的命令使用的清华源。

pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple

使用 -i 指定国内安装源后可以有效的提高下载速度。

更多信息欢迎关注我的个人微信公众号:TeamsSix

参考链接:
https://youtu.be/aDwAmj3VWH4
http://doc.scrapy.org/en/latest/topics/architecture.html


文章作者: TeamsSix
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 TeamsSix !
评论
 上一篇
【Python Scrapy 爬虫框架】 2、利用 Scrapy 爬取我的博客文章标题链接 【Python Scrapy 爬虫框架】 2、利用 Scrapy 爬取我的博客文章标题链接
0x00 新建项目在终端中即可直接新建项目,这里我创建一个名称为 teamssix 的项目,命令如下: scrapy startproject teamssix 命令运行后,会自动在当前目录下生成许多文件,如下所示: teamssix
下一篇 
【漏洞笔记】浅谈SSRF原理及其利用 【漏洞笔记】浅谈SSRF原理及其利用
声明:本文仅用作技术交流学习分享用途,严禁将本文中涉及到的技术用法用于违法犯罪目的。 0x00 漏洞说明SSRF (Server-Side Request Forgery) 即服务端请求伪造,从字面意思上理解就是伪造一个服务端请求,也即是说
2019-12-22
  目录