一文图解爬虫(spider)

news/2024/7/19 9:34:44 标签: 爬虫, spider, 网页解析
—引导语

互联网(Internet)进化到今天,已然成为爬虫(Spider)编制的天下。从个体升级为组合、从组合联结为网络。因为有爬虫,我们可以更迅速地触达新鲜“网事”

在这里插入图片描述


那么爬虫究竟如何工作的呢?允许博主慢慢道来。

一、网络搜索算法
  • 深度搜索算法(DFS),座右铭:一路狂奔止南墙

定义:深度优先搜索属于图算法的一种,英文缩写为DFS(Depth First Search)。
特点:要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。]

  • 广度搜索算法(BFS),座右铭:相邻相杀何时了

定义:广度优先搜索也属于图算法的一种,英文缩写为BFS(Breath First Search)。
特点:从被搜索结构的一个节点出发,先遍历其相邻节点,再遍历相邻节点的相邻节点。

如果依然不甚理解,可以参考示意图:
在这里插入图片描述

二、制造爬虫

基于算法这个大脑,爬虫也就有了交通地图。这时耳边响起了一句儿歌:“红灯停,绿灯行 ,黄灯亮了等一等”
此时,爬虫开启了无敌模式,无畏无惧,不吃不喝也能日行三万里。
但是还是要听主人的话吧?欣慰至极。
<a class=爬虫架构" />
上图是一个经典的爬虫设计图,也就是各零部件的交互指导,下面进行简单阐述。

1. 客户端

也就是爬虫的出发地点,可以是主流的任何终端设备

2. URL队列

在产生一个URL队列前,先要指定一个“队长”,就好比丐帮的一代长老。如此便可以代代相传,从一个人变成一直队伍,直到夺取天下。

3. 网页解析

好比淘金一样,我们需要经过严选才能找到自己想要的金子。数据即金子。

4. 网页下载器

可以理解为一个播种机,如何让一粒黄豆变成一串串豆角,需要我们辛勤的耕耘与浇灌。


结语

只要具备以上条件,一只爬虫即可问世,请允许它开始放肆的工作吧(手动狗头)。
各位伙伴熟悉了么?


http://www.niftyadmin.cn/n/5172357.html

相关文章

C语言数据结构-----链表类型详解及链表练习题

0.前言 之前我讲解了循序表以及单链表&#xff0c;接下来我会在介绍几个不同的链表&#xff0c;并举例相关习题使大家能够更加深入的理解。 前期内容如下&#xff1a; 链接: 顺序表(动态顺序表增删查改的代码实现) 链接: 单链表(无头单向不循环)增删查改的代码实现 链接: [双向…

C++自动注册的工厂与--whole-archive

上篇文章《静态库和链接选项--whole-archive》提到--whole-archive的一个应用场景&#xff1a;C自动注册的工厂&#xff0c;这篇文章来填坑。 预备知识 我们经常用工厂类或工厂方法统一管理资源&#xff0c;实现资源的创建和使用之间的解耦&#xff0c;调用者无需关心资源创建的…

Windows11跳过联网激活 跳过登陆操作

1 背景 笔者使用VirtualBox时安装Win11&#xff0c;初始化的配置提示需要注册账户才能进行下一步操作&#xff0c;于是去查了一下发现有办法绕过&#xff0c;方法就是断网oobe\ByPassNRO.cmd&#xff0c;试了一下发现可以&#xff0c;便有了这篇文章。 2 流程 开机之前&…

华为防火墙二层透明模式下双机热备主备备份配置(两端为交换机)

这种模式只能是主备备份模式&#xff0c;不能是负载分担&#xff0c;因为会有环路。 故障切换是&#xff0c;如果主故障&#xff0c;主设备所有接口全都会down状态&#xff0c;然后再up一次&#xff0c;用于改变mac转发表。 FW1 hrp enable hrp interface GigabitEthernet1/0…

Mac电脑专业raw图像处理 DxO PhotoLab 7中文最新 for mac

DxO PhotoLab 7是一款专业的图像处理软件&#xff0c;为摄影师和摄影爱好者提供了强大而全面的照片处理和编辑功能。 该软件可以处理来自各种相机的RAW格式图像&#xff0c;包括佳能、尼康、索尼、富士等品牌&#xff0c;同时也支持JPEG格式的处理。这使得用户可以在不损失图像…

使用递归图 recurrence plot 表征时间序列

在本文中&#xff0c;我将展示如何使用递归图 Recurrence Plots 来描述不同类型的时间序列。我们将查看具有500个数据点的各种模拟时间序列。我们可以通过可视化时间序列的递归图并将其与其他已知的不同时间序列的递归图进行比较&#xff0c;从而直观地表征时间序列。 递归图 …

SpringBoot集成Solr所遇问题记录

使用Solr所遇问题记录 Solr 页面创建core 错误信息&#xff1a; Error CREATEing SolrCore new_core: Unable to create core [new_core] Caused by: Multiple [schema.xml] fieldType registered to the same name: text_ik ignoring: text_ik{classorg.apache.solr.schema.T…

【数据库】【sql】如何用SQL实现跨行计算

【背景】 这里的跨行计算不是指整体聚合类的函数比如SUM等的功能&#xff0c;而是指递归算法。 比如我接到有需求&#xff0c;有一个结果字段需要是目前所有行该字段的和&#xff0c;这是属于递归类的算法&#xff0c;SQL中如何实现呢&#xff1f; 【方法】 可以使用窗口函数…