《精通Python网络爬虫:核心技术、框架与项目实战》——3.2 爬行策略

简介:

本节书摘来自华章出版社《精通Python网络爬虫:核心技术、框架与项目实战》一书中的第3章,第3.2节,作者 韦 玮,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2 爬行策略

在网络爬虫爬取的过程,在待爬取的URL列表中,可能有很多URL地址,那么这些URL地址,爬虫应该先爬取哪个,后爬取哪个呢?在通用网络爬虫中,虽然爬取的顺序并不是那么重要,但是在其他很多爬虫中,比如聚焦网络爬虫中,爬取的顺序非常重要,而爬取的顺序,一般由爬行策略决定。在这一节中,我们将为大家介绍一些常见的爬行策略。

爬行策略主要有深度优先爬行策略、广度优先爬行策略、大站优先策略、反链策略、其他爬行策略等。下面我们将分别进行介绍。

如图3-3所示,假设有一个网站,ABCDEFG分别为站点下的网页,图中箭头表示网页的层次结构。


abc4d686e6141c1f0f5c17bc9f3cfc1ddb2c28c2

假如此时网页ABCDEFG都在爬行队列中,那么按照不同的爬行策略,其爬取的顺序是不同的。

比如,如果按照深度优先爬行策略去爬取的话,那么此时会首先爬取一个网页,然后将这个网页的下层链接依次深入爬取完再返回上一层进行爬取。

所以,若按深度优先爬行策略,图3-3中的爬行顺序可以是:A → D → E → B → C → F → G。

如果按照广度优先的爬行策略去爬取的话,那么此时首先会爬取同一层次的网页,将同一层次的网页全部爬取完后,在选择下一个层次的网页去爬行,比如,上述的网站中,如果按照广度优先的爬行策略去爬取的话,爬行顺序可以是:A→B→C→D→E→F→G。

除了以上两种爬行策略之外,我们还可以采用大站爬行策略。我们可以按对应网页所属的站点进行归类,如果某个网站的网页数量多,那么我们则将其称为大站,按照这种策略,网页数量越多的网站越大,然后,优先爬取大站中的网页URL地址。

一个网页的反向链接数,指的是该网页被其他网页指向的次数,这个次数在一定程度上代表着该网页被其他网页的推荐次数。所以,如果按反链策略去爬行的话,那么哪个网页的反链数量越多,则哪个网页将被优先爬取。但是,在实际情况中,如果单纯按反链策略去决定一个网页的优先程度的话,那么可能会出现大量的作弊情况。比如,做一些垃圾站群,并将这些网站互相链接,如果这样的话,每个站点都将获得较高的反链,从而达到作弊的目的。作为爬虫项目方,我们当然不希望受到这种作弊行为的干扰,所以,如果采用反向链接策略去爬取的话,一般会考虑可靠的反链数。

除了以上这些爬行策略,在实际中还有很多其他的爬行策略,比如OPIC策略、Partial PageRank策略等。

相关文章
|
4天前
|
SQL 安全 算法
网络安全与信息安全的全面解析:应对漏洞、加密技术及提升安全意识的策略
本文深入探讨了网络安全和信息安全的重要性,详细分析了常见的网络安全漏洞以及其利用方式,介绍了当前流行的加密技术及其应用,并强调了培养良好安全意识的必要性。通过综合运用这些策略,可以有效提升个人和企业的网络安全防护水平。
|
4天前
|
存储 安全 网络安全
探索云计算环境下的网络安全新策略
在数字化时代,云计算作为一种新兴技术,正逐渐成为企业和个人数据存储、处理的重要方式。然而,随着云服务的普及,网络安全问题也日益凸显,成为制约云计算发展的关键因素。本文将从云服务的基本概念入手,深入探讨云计算环境中的网络安全挑战,并提出相应的解决策略,以期为云计算的安全发展提供参考。
98 66
|
4天前
|
存储 人工智能 安全
云端防御:云计算时代的网络安全策略
随着云计算技术的飞速发展,企业和个人越来越依赖云服务来存储和处理数据。然而,云环境的开放性和灵活性也带来了新的安全挑战。本文将探讨在云计算时代,如何通过有效的网络安全策略保护数据不受威胁。我们将深入分析云服务的安全问题,并介绍一些实用的网络安全措施,帮助读者建立起一套完整的云端防御体系。
17 1
|
5天前
|
运维 负载均衡 安全
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
深度解析:Python Web前后端分离架构中WebSocket的选型与实现策略
27 0
|
3天前
|
机器学习/深度学习 数据采集 TensorFlow
智能市场营销策略优化:使用Python实现深度学习模型
【10月更文挑战第1天】 智能市场营销策略优化:使用Python实现深度学习模型
110 63
|
1天前
|
存储 安全 网络安全
云计算与网络安全:技术挑战和策略
【10月更文挑战第3天】在数字化时代,云计算已经成为企业存储、处理和分析数据的首选平台。然而,随着其应用的广泛性,网络安全问题也日益凸显。本文将探讨云计算环境中的安全挑战,包括数据泄露、服务中断等风险,并介绍一些实用的安全措施,如加密技术和访问控制策略。通过这些措施,我们可以更好地保护云环境,确保数据的完整性和隐私。
|
1天前
|
数据采集 JavaScript 前端开发
JavaScript逆向爬虫——使用Python模拟执行JavaScript
JavaScript逆向爬虫——使用Python模拟执行JavaScript
11 2
|
1天前
|
存储 SQL 数据库
使用Python和Flask框架创建Web应用
【10月更文挑战第3天】使用Python和Flask框架创建Web应用
12 1
|
3天前
|
存储 安全 云计算
云上防线:云计算时代的网络安全策略
【10月更文挑战第1天】云上防线:云计算时代的网络安全策略
15 2
|
3天前
|
供应链 安全 网络安全
探索云计算环境下的网络安全新策略
在信息技术飞速发展的今天,云计算已成为推动企业创新和效率提升的关键力量。然而,随着云服务的普及,网络安全和信息安全问题也日益凸显,成为制约云计算发展的重要瓶颈。本文深入探讨了云计算环境中的网络安全挑战,分析了当前主流的云服务安全技术,包括数据加密、访问控制、身份验证等,并提出了一系列创新性的网络安全管理策略。通过对比传统网络安全措施与云计算环境下的安全需求,本文旨在为企业和个人用户提供一套全面而实用的云计算安全防护指南,以应对日益复杂的网络威胁,确保信息资产的安全与完整。