科普:爬虫
大家好,我们又见面了啊~本文《科普:爬虫》的内容中将会涉及到等等。如果你正在学习文章相关知识,欢迎关注我,以后会给大家带来更多文章相关文章,希望我们能一起进步!下面就开始本文的正式内容~
现在人们说的 Python 写爬虫啊之类的,爬虫当然不是普通的那个爬虫,而是指按照一定的规则获取网络上信息的程序,因为它在获取一个网页信息的同时会从这个网页上获得URL然后再对这个URL获取信息,所以称为爬虫。
爬虫之间也有不同,不过大致可以分为以下几类
这类爬虫的目标从几个URL扩展到整个网络,一般用于为搜索引擎和Web服务提供商采集数据。这类爬虫不太看重页面间的联系,而看重获得页面的数量,因此对存储空间有一定要求。
这类爬虫主要根据选定好的主题来搜索页面,主要来满足对特定领域信息的需求,保存的页面数量不多,可以节省网络资源与存储空间。
这类爬虫主要是对新产生或是发生变化的网页来搜寻的爬虫,虽然这样也可以避免重复爬行造成空间与网络资源浪费,但是所需要的算法比其他爬虫更复杂。
这些爬虫主要对不能够通过链接进入的页面进行搜索,比如说注册后可见的页面等等。这类爬虫通常需要一个附带具有填写表单的能力之类的辅助模块来帮助进入之后的页面。
IP 地址搜索策略是先给爬虫一个起始的 IP 地址,然后根据 IP 地址以递增的方式搜索本 IP 地址段后的每一个地址中的文档,它完全不考虑各文档中指向其它 Web 站点的超级链接地址。这种搜索策略的优点是搜索比较全面,因此能够发现那些没被其它文档引用的新文档的信息源;但是缺点是不适合大规模搜索。
深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的 HTML 文件)。例如,在一个 HTML 文件中,当一个超链被选择后,被链接的 HTML 文件将执行深度优先搜索,也就是说在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着 HTML 文件上的超链走到不能再深入为止,然后返回到某一个 HTML 文件,再继续选择该 HTML 文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。
宽度优先搜索的过程是先搜索完一个 Web 页面中所有的超级链接,然后再继续搜索下一层,直到底层为止。例如,一个 HTML 文件中有三个超链,选择其中之一并处理相应的HTML文件,然后不再选择第二个 HTML 文件中的任何超链,而是返回并选择第二个超链,处理相应的 HTML 文件,再返回,选择第三个超链并处理相应的 HTML 文件。当一层上的所有超链都已被选择过,就可以开始在刚才处理过的 HIML 文件中搜索其余的超链。
宽度优先搜索的优点:一个是保证了对浅层的优先处理,当遇到一个无穷尽的深层分支时,不会导致陷进深层文档中出现出不来的情况发生;另一个是它能在两个 HTML 文件之间找到最短路径。
宽度优先搜索策略通常是实现爬虫的最佳策略,因为它容易实现,而且具备大多数期望的功能。但是如果要遍历一个指定的站点或者深层嵌套的 HTML 文件集,用宽度优先搜索策略则需要花费比较长的时间才能到达深层的 HTML 文件。
截止到 2007 年底,Internet 上网页数量超出 160 亿个,研究表明接近 30%的页面是重复的;动态页面的存在:客户端、服务器端脚本语言的应用使得指向相同 Web 信息的 URL 数量呈指数级增长。 上述特征使得网络爬虫面临一定的困难,主要体现在 Web 信息的巨大容量使得爬虫在给定时间内只能下载少量网页。 Lawrence 和 Giles 的研究表明没有哪个搜索引擎能够索引超出 16%的 Internet 上 Web 页面,即使能够提取全部页面,也没有足够的空间来存储。
为提高爬行效率,爬虫需要在单位时间内尽可能多的获取高质量页面,这也是是它面临的难题之一。 当前有五种表示页面质量高低的方式:Similarity(页面与爬行主题之间的相似度)、Backlink(页面在 Web 图中的入度大小)、PageRank(指向它的所有页面平均权值之和)、Forwardlink(页面在 Web 图中的出度大小)、Location(页面的信息位置)。
Parallel(并行性问题):为了提高爬行速度,网络通常会采取并行爬行的工作方式,随之引入了新的问题:
重复性:并行运行的爬虫或爬行线程同时运行时增加了重复页面
质量问题:并行运行时,每个爬虫或爬行线程只能获取部分页面,导致页面质量下降
通信带宽代价:并行运行时,各个爬虫或爬行线程之间不可避免要进行一些通信
并行运行时,网络爬虫通常采用三种方式:独立方式(各个爬虫独立爬行页面,互不通信)、动态分配方式(由一个中央协调器动态协调分配 URL 给各个爬虫)、静态分配方式(URL 事先划分给各个爬虫)。
终于介绍完啦!小伙伴们,这篇关于《科普:爬虫》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

- 上一篇
- 在线下载 JS 文件时遇到错误:缺少小括号怎么办?

- 下一篇
- Flask购物车数量无法更新:session.modified = True 的作用是什么?
-
- 文章 · linux | 7小时前 |
- LinuxLAMP搭建博客平台全程指南
- 320浏览 收藏
-
- 文章 · linux | 7小时前 |
- Debianulimit设置不当的终极解决方案
- 117浏览 收藏
-
- 文章 · linux | 8小时前 |
- Golang日志关键信息提取实用技巧
- 325浏览 收藏
-
- 文章 · linux | 9小时前 |
- Debian系统消息管理技巧与实用方法
- 458浏览 收藏
-
- 文章 · linux | 9小时前 |
- Linux软连接修复方法及技巧
- 254浏览 收藏
-
- 文章 · linux | 9小时前 |
- Debian系统日志备份攻略详解
- 132浏览 收藏
-
- 文章 · linux | 10小时前 |
- DebianStrings提升软件文档质量的秘诀
- 432浏览 收藏
-
- 文章 · linux | 11小时前 |
- 在Debian上用Flutter开发跨平台应用可行吗
- 341浏览 收藏
-
- 文章 · linux | 11小时前 |
- Golang日志在Debian存储策略详解
- 416浏览 收藏
-
- 文章 · linux | 12小时前 |
- Zookeeper在Debian上的安全策略配置攻略
- 264浏览 收藏
-
- 文章 · linux | 13小时前 |
- Compton多显示器设置使用攻略
- 317浏览 收藏
-
- 文章 · linux | 13小时前 |
- OpenSSL在Debian使用攻略与限制详解
- 206浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 毕业宝AIGC检测
- 毕业宝AIGC检测是“毕业宝”平台的AI生成内容检测工具,专为学术场景设计,帮助用户初步判断文本的原创性和AI参与度。通过与知网、维普数据库联动,提供全面检测结果,适用于学生、研究者、教育工作者及内容创作者。
- 18次使用
-
- AI Make Song
- AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
- 29次使用
-
- SongGenerator
- 探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
- 27次使用
-
- BeArt AI换脸
- 探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
- 29次使用
-
- 协启动
- SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
- 31次使用
-
- 命令行工具:应对Linux服务器安全挑战的利器
- 2023-10-04 501浏览
-
- 如何使用Docker进行容器的水平伸缩和负载均衡
- 2023-11-07 501浏览
-
- linux .profile的作用是什么
- 2024-04-07 501浏览
-
- 如何解决s权限位引发postfix及crontab异常
- 2024-11-21 501浏览
-
- 如何通过脚本自动化Linux上的K8S安装
- 2025-02-17 501浏览