输入关键字 抓取所有网页(MBA智库百科:网络爬虫的分类及工作原理及应用)
优采云 发布时间: 2021-11-02 00:08输入关键字 抓取所有网页(MBA智库百科:网络爬虫的分类及工作原理及应用)
来自MBA智库百科()
内容
[编辑]
什么是网络爬虫
网络爬虫,又称“网络蜘蛛”,通过网页的链接地址搜索网页。从某个页面开始,读取网页的内容,找到网页中的其他链接地址,然后使用这些链接地址寻找下一个网页并以此方式循环的技术,直到互联网上的所有网页都被抓取到到一定的策略。
[编辑]
网络爬虫的分类及工作原理
根据系统结构和实现技术,网络爬虫大致可以分为以下类型:通用网络爬虫、主题网络爬虫和深网爬虫。在实际应用中,系统的几种爬虫技术通常是相互结合的。
(一)通用网络爬虫)
一般的网络爬虫都是从预先设置的一个或几个初始*敏*感*词*URL开始,获取初始网页上的URL列表。在爬取过程中,它不断从URL队列中获取一个URL,然后访问和下载页面。页面下载完成后,页面解析器去除页面上的HTML标签获取页面内容,将摘要、URL等信息保存在Web数据库中,同时提取当前页面上的新URL并保存直到满足系统停止条件。其工作流程如图 1 所示。
一般爬虫主要有以下局限: 1) 由于爬取目标是尽可能覆盖整个网络,所以爬取结果收录大量用户不需要的网页;2) 做不好。搜索和获取信息内容密集、具有一定结构的数据;3) 一般搜索引擎多为基于关键字的检索,难以达到支持语义信息查询和智能搜索引擎的要求。
可见,一般的爬虫很难在抓取网页时既保证网页的质量和数量,又很难保证网页的时效性。
(二)主题网络爬虫)
1.主题爬虫原理
主题爬虫不追求大覆盖,也不全面接受所有网页和网址。它根据既定的爬取目标,有选择地访问万维网上的网页和相关链接,获取所需信息,而不仅仅是客服。一般爬虫有问题,H-返回的数据资源更准确。主题爬虫的基本工作原理是根据预定的主题分析刚刚爬取的网页的超链接和内容,获取下一个要爬取的URL,并保证爬取尽可能多的与主题相关的页面,所以主题爬虫要解决以下关键问题:1)如何判断一个爬取的网页是否与主题相关;2) 如何过滤掉海量与主题无关或相关性低的网页;3) 如何有目的地、可控地抓取与特定主题相关的网页信息;4)如何确定要访问的URL的访问顺序;5)如何提高话题爬虫的覆盖率;6) 如何协调抓取目标的描述或定义与网页分析算法和候选URL排名算法之间的关系;7) 如何寻找优质网页和关键资源。高质量的网页和关键资源不仅可以大大提高主题爬虫对网页的采集效率和质量,还可以为主题表示模型的优化等应用提供支持。
2. 主题爬虫模块设计
主题爬虫的目标是发现并采集尽可能多的与预定主题相关的网页,其最大的特点是能够分析网页内容并确定主题的相关性。根据主题爬虫的工作原理,设计如下主题爬虫系统,主要由页面采集模块、页面分析模块、相关性计算模块、页面过滤模块和链接排序模块组成. 其整体功能模块结构如图2所示。
页面采集模块:主要是根据要访问的URL队列下载页面,然后交给网页分析模型提取网页主题向量空间模型。该模块是任何爬虫系统必不可少的模块。页面分析模块:该模块的作用是对采集到达的页面进行分析,主要用于连接超链接排序模块和页面相关性计算模块。
页面相关性计算模块:该模块是整个系统的核心模块。主要用于评估与主题的相关性,提供相关的爬取策略,指导爬虫的爬取过程。URL 的超链接评估分数越高,抓取的优先级越高。主要思想是在系统爬取之前,页面相关度计算模块根据用户输入的关键词和初始文本信息进行学习,训练页面相关度评价模型。当被认为与某个主题相关的页面被向下爬取时,该页面被发送到页面相关性评估器计算其主题相关性值。如果该值大于或等于给定阈值,则将该页面保存到页面库中,否则丢弃¨。页面过滤模块:过滤掉与主题无关的链接,同时删除 URL 及其所有隐含的子链接。通过过滤,爬虫不需要遍历与主题无关的页面,从而保证了爬取效率。排序模块:将过滤后的页面按优先级加入要访问的URL队列。
3.主题爬虫流程设计
主题爬虫需要根据一定的网络分析算法过滤掉与主题无关的链接,保留有用的链接,放入URL队列等待爬取。然后,它会根据一定的搜索策略从待爬取的队列中选择下一个待爬取的URL,重复上述过程,直到满足系统停止条件。所有抓取到的网页都会被系统存储起来,经过一定的分析、过滤,然后编入索引供用户查询和检索;在这个过程中得到的分析结果可以为后续的爬取过程提供反馈和指导。其工作流程如图 3 所示。
4.深网爬虫
1994年,Jill Ellsworth博士提出了DeepWeb(深页面)的概念,即DeepWeb是指具有普通搜索引擎难以找到的信息内容的网页。DeepWeb 中的信息量比普通网页要多,质量也更高。但由于技术限制,普通搜索引擎无法采集到如此高质量、高权威的信息。这些信息通常隐藏在一个庞大的深度网页动态数据库中,涉及数据集成、中文语义识别等多个领域。如此庞大的信息资源,如果不以合理、高效的方式获取,将是巨大的损失。因此,对深度网络爬虫技术的研究具有极其重要的现实意义和理论价值。
传统的网络爬虫在运行过程中无法发现隐藏在普通网页中的信息和规律,缺乏一定的主动性和智能性。例如,需要用户名和密码的页面,或收录页码导航的页面都无法抓取。Deep Crawler 的设计解决了传统网络爬虫的这些缺点,并通过增加表单分析和页面状态维护两部分来改进其结构。其结构如图4所示,通过分析网页的结构,将其归类为对于普通网页或信息较多的深层网页,为深层网页构造合适的表单参数并提交以获得更多页面。深度爬虫的流程图如图4所示。深度爬虫与常规爬虫的区别在于,深度爬虫不会在页面下载后立即遍历所有超链接,而是使用一定的算法对其进行分类,并针对不同的类别使用不同的方法计算查询参数。再次向服务器提交参数。如果提交的查询参数正确,您将获得隐藏的页面和链接。深度爬虫的目标是尽可能多地访问和采集互联网上的网页。由于深度页面是通过提交表单访问的,因此深度页面爬取存在三个难点: 1) 深度爬虫需要高效。处理海量深页数据的算法;2)很多服务端DeepWeb需要验证表单输入,比如用户名、密码、验证码等,如果验证失败,您将无法爬到 DeepWeb 数据;2) @3) 客户端需要JavaScript等脚本来支持DeepWeb分析。
[编辑]
网络爬虫的搜索策略
(1)IP地址搜索策略
IP地址搜索策略是先给爬虫一个起始IP地址,然后根据IP地址以增量方式搜索IP地址段之后的每个地址中的文档。它不考虑指向其他 Web 站点的文档的超级。链接地址。这种搜索策略的优点是搜索比较全面,可以找到其他文档没有引用的新文档的信息源;但缺点是不适合*敏*感*词*搜索。
(2)深度优先搜索策略
深度优先搜索是在爬虫开发初期使用较多的一种方法。其目的是到达搜索结构的叶节点(即那些不收录任何超链接的 HTML 文件)。For example, in an HTML file, when a hyperlink is selected, the linked HTML file will perform a depth-first search, that is to say, a single link must be searched completely before searching the remaining hyperlink results. 深度优先搜索沿着HTML文件上的超链接走,直到不能再深入,然后返回到某个HTML文件,然后继续选择HTML文件中的其他超链接。当没有其他超链接可供选择时,搜索结束。
(3)广度优先搜索策略
广度优先搜索的过程是先搜索一个网页中的所有超链接,然后继续搜索下一层,直到下一层。例如,一个HTML文件中有三个超链接,选择其中一个处理对应的HTML文件,然后第二个HTML文件中不再选择任何超链接,而是返回选择第二个超链接,处理对应的HTML文件,再次返回,选择第三个超链接并处理相应的HTML文件。当第一层的所有超链接都被选中后,您就可以开始在刚刚处理的 HIML 文件中搜索剩余的超链接了。
广度优先搜索策略的优点:一是保证了浅层的优先处理,当遇到无穷无尽的深分支时,不会导致陷入www的深文档出现不可用;另一个是它可以找到两个 HTML 文件之间的最短路径。
广度优先搜索策略通常是实现爬虫的最佳策略,因为它易于实现并且具有大部分所需的功能。但是如果你想遍历一个指定的站点或一组深度嵌套的 HTML 文件,使用宽度优先搜索策略将需要相对较长的时间才能到达深层 HTML 文件。
[编辑]
参考
余承龙, 余洪波. 网络爬虫技术研究[J].东莞理工大学学报.2011,5 蔡晓伦.网络爬虫技术的发展顺势而为[J].科技信息.2010,12
从 ””
这个条目对我有帮助 8
报酬
MBA智库APP
扫描下载MBA智库APP