Scrapy 爬虫框架学习DAY 1

Scrapy 爬虫框架学习 DAY 1

一、爬虫概要

首先我们要了解什么是爬虫

爬虫: 网络爬虫是一种按照一定规则,自动抓取网页信息的程序或脚本

用一个通俗易懂的比喻就是:如果把互联网比作一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,他通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线。通常从网站的某一个页面开始,爬取网页的内容,找到在网页中的链接地址,然后通过这些链接地址来确定下一个网页,这样一直循环下去,知道把这个网站所有网页都抓取完为止。

那么什么是Scarpy爬虫框架呢,我的个人理解就是:Scrapy,Python开发的一个 快速高层次的屏幕抓取web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于 数据挖掘监测自动化测试,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 后台也应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。

Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。

二、爬虫基本原理

在网络上寻找了一个比较好懂的图,见下图。

Scrapy 爬虫框架学习DAY 1

网络爬虫的基本过程

三、Scrapy爬虫框架

Scrapy 是由五个基本组件组成的,他们分别是

1、调度器(Scheduler);

调度器,比较好懂的方式就是:把它理解成一个队列,里面放你要爬取的URL(可以是:网址或者是链接),由他确定下一个网页的是什么,同时去除重复的网址(不做重复的操作)。所以我们用户可以根据自己的需求来定制调度器。

2、下载器(Downloader);

下载器,是所有组件中负担中最大的,它用于高度地下载网络上的资源。Scrapy的下载器代码不会太复杂,但效率高,主要的原因是Scrapy下载器是建立在twisted这个高效的异步模型上的。

3、爬虫(Spider);

爬虫,是用户最关心的部分。我们需要很熟练的了解正则表达式,用于从特定的网页提取自己需要的信息,即所谓的实体(Item)。然后从中提取更多的链接,让爬虫继续爬下一个页面

4、实体管道(Item Pipline);

实体管道,用于处理爬虫(Sprider)提取的实体。主要功能是持久化实体,验证实体的有效性、清除不需要的信息。

5、Scrapy引擎(Scrapy Engine);

Scrapy是整个框架的核心。他用来控制调试器、下载器、爬虫。实际上,这个其实就相当于计算机的CPU,它控制着整个流程,是Scrapy的大脑。

Original: https://blog.csdn.net/qq_45941367/article/details/115214594
Author: 不安分实验室
Title: Scrapy 爬虫框架学习DAY 1

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/792064/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球