输入关键字 抓取所有网页(MBA智库百科:网络爬虫的分类及工作原理及应用)

优采云 发布时间: 2022-04-14 15:20

  输入关键字 抓取所有网页(MBA智库百科:网络爬虫的分类及工作原理及应用)

  来自MBA智库百科()

  (从网络机器人重定向)

  目录

  [编辑]

  什么是网络爬虫

  网络爬虫,又称“网络蜘蛛”,通过网页的链接地址搜索网页,从网站某个页面开始,读取该网页的内容,在其中找到其他的链接地址网页,然后通过这些链接地址寻找下一个网页,以此类推,直到互联网上的所有网页都按照一定的策略被爬取。

  [编辑]

  网络爬虫的分类及工作原理

  网络爬虫根据系统结构和实现技术大致可以分为以下几种:通用网络爬虫、主题网络爬虫、深度网络爬虫。在实际应用中,系统的几种爬虫技术通常是相互结合的。

  (一)通用网络爬虫

  一般网络爬虫根据一个或几个预设的初始*敏*感*词*URL启动,获取初始网页上的URL列表,在爬取过程中不断从URL队列中获取一个URL,然后访问下载这页纸。页面下载完成后,页面解析器去除页面上的HTML标签获取页面内容,将摘要、URL等信息保存在Web数据库中,提取当前页面新的URL保存到URL中排队,直到满足系统停止条件。其工作流程如图1所示。

  

  通用爬虫主要有以下局限性: 1)由于爬取目标是可能覆盖的最大网络,爬取结果中收录大量用户不需要的网页; 2)不能很好地搜索和获取信息内容密集、结构一定的数据; 3)一般的搜索引擎大多是基于关键字的检索,很难达到支持语义信息的查询和智能搜索引擎的要求。

  可见,通用爬虫在抓取网页时很难同时保证网页的质量和数量以及网页的及时性。

  (二)主题网络爬虫

  1.主题爬虫原理

  主题爬虫不追求大的覆盖率,也不完全接受所有的网页和网址。它根据既定的爬取目标有选择地访问万维网上的网页和相关链接,以获取所需的信息。不仅克服了通用爬虫的问题,而且H-返回的数据资源更加准确。主题爬虫的基本工作原理是根据预定主题分析刚刚爬取的网页的超链接和内容,得到下一个要爬取的URL,并保证尽可能多地爬取与主题相关的网页,所以主题爬虫要解决以下关键问题:1)如何判断爬取的网页是否与主题相关;2)如何从海量网页中过滤掉不相关或不相关的网页;3) 如何有目的地、可控地抓取与特定主题相关的网页信息; 4)如何确定要访问的URL的访问顺序;5)如何提高主题爬虫的覆盖率;6)如何协调爬取目标的描述或定义与web页面分析算法和候选URL排名算法; 7)如何找到和发现高质量的网页和关键资源。优质的网页和关键资源不仅可以大大提高主题爬虫采集网页的效率和质量,还可以为主题表现模型优化等应用提供支持。

  2.主题爬虫模块设计

  主题爬虫的目标是发现和采集尽可能多的与预定主题相关的网页。下面根据主题爬虫的工作原理设计一个主题爬虫系统,主要由页面采集模块、页面分析模块、相关性计算模块、页面过滤模块和链接排序模块组成。其整体功能模块结构如图2所示。

  

  Page采集模块:主要是根据要访问的URL队列下载页面,然后交给网页分析模型处理,提取网页主题向量空间模型。该模块是任何爬虫系统的必备模块。页面分析模块:该模块的作用是分析采集到达的页面,主要用于连接超链接排序模块和页面相关度计算模块。

  页面相关度计算模块:该模块是整个系统的核心模块。主要用于评估与主题的相关性,并提供相关的爬取策略来指导爬虫的爬取过程。 URL的超链接评价分数越高,爬取的优先级越高。主要思想是,在系统爬取之前,页面相关度计算模块根据用户输入的关键词和初始文本信息进行学习,训练出页面相关度评价模型。当一个被认为与主题相关的页面被爬取时,该页面被发送到页面相关性评估器以计算其主题相关性值。如果该值大于或等于给定阈值,则存储该页面。入页库,否则丢弃¨。页面过滤模块:过滤掉与主题无关的链接,将 URL 及其所有隐含的子链接一起删除。通过过滤,爬虫不需要遍历与主题无关的页面,从而保证了爬取效率。排序模块:将过滤后的页面按优先级添加到待访问的URL队列中。

  3.主题爬虫流程设计

  主题爬虫需要根据一定的网页分析算法,过滤掉与主题无关的链接,保留有用的链接,放入待抓取的URL队列中。然后,它会根据一定的搜索策略从待爬取队列中选择下一个待爬取的URL,重复上述过程,直到满足系统停止条件。所有爬取的网页都会被系统存储,经过一定的分析和过滤,然后编入索引,供用户查询和检索;在这个过程中得到的分析结果可以为后续的爬取过程提供反馈和指导。其工作流程如图 3 所示。

  

  4.深度网络爬虫

  博士。 1994年Jill Ellsworth提出DeepWeb(deep page)的概念,即DeepWeb是指普通搜索引擎很难找到信息内容的网页。 DeepWeb中的信息量比普通网页多,质量也更高。但普通搜索引擎由于技术限制,无法采集到这些高质量、高权威的信息。这些信息通常隐藏在深度网页的大型动态数据库中,涉及数据集成、中文语义识别等诸多领域。如果没有合理有效的方式来获取如此庞大的信息资源,那将是巨大的损失。因此,深度网络爬虫技术的研究具有极其重要的现实意义和理论价值。

  常规网络爬虫在运行过程中无法发现隐藏在普通网页中的信息和规律,缺乏一定的主动性和智能性。例如,无法抓取需要用户名和密码的页面,或收录页码导航的页面。深度爬虫的设计正是针对常规网络爬虫的这些不足,通过增加表单分析和页面状态维护两部分对其结构进行了改进。其结构如图4所示。通过分析网页的结构,将其分类为普通网页或信息较多的深度网页,为深度网页构造合适的表单参数并提交以获得更多页面。深度爬虫的流程图如图4所示。深度爬虫与常规爬虫的区别在于,深度爬虫并不是在页面下载后立即遍历所有超链接,而是使用一定的算法对其进行分类,并采用不同的不同类别的方法。再次向服务器提交参数。如果您提交正确的查询参数,您将获得隐藏的页面和链接。深度爬虫的目标是尽可能多地访问和采集互联网上的网页。由于深页是通过提交表单来访问的,所以对深页的爬取存在三个难点:1)深度爬虫需要高效的算法来处理海量的深页数据;2)很多服务器-侧 DeepWeb 需要验证表单输入,如用户名、密码、验证码等,如果验证失败,将无法爬到 DeepWeb 数据;3) 需要 JavaScript 等脚本支持来分析客户端 DeepWeb。

  

  [编辑]

  网络爬虫的搜索策略

  (1)IP地址搜索策略

  IP地址搜索策略是先给爬虫一个起始IP地址,然后根据IP地址递增的方式在这个IP地址段之后的每个地址中搜索文档。它不认为每个文档都指向其他网页站点的超链接地址。这种搜索策略的优点是搜索全面,可以找到其他文档没有引用的新文档的信息源;但缺点是不适合*敏*感*词*搜索。

  (2)深度优先搜索策略

  深度优先搜索是爬虫开发早期使用较多的一种方法。其目的是到达被搜索结构的叶节点(即那些不收录任何超链接的 HTML 文档)。 For example, in an HTML document, when a hyperlink is selected, the linked HTML document will perform a depth-first search, which means that a single link must be searched in its entirety before searching for the rest of the hyperlink results.深度优先搜索跟随 HTML 文档上的超链接,直到它无法继续前进,然后返回到某个 HTML 文档,并继续选择该 HTML 文档中的其他超链接。当没有其他超链接可供选择时,搜索结束。

  (3)广度优先搜索策略

  广度优先搜索的过程是先搜索网页中的所有超链接,然后继续搜索下一层,直到最底层。比如一个HTML文件有3个超链接,选择其中一个并处理对应的HTML文件,则不再选择第二个HTML文件中的任何超链接,而是返回选择第二个超链接,处理对应的HTML文件,再回去,选择第三个超链接,处理对应的HTML文件。当一个图层上的所有超链接都被选中后,就可以开始在刚刚处理的 HIML 文件中搜索剩余的超链接了。

  广度优先搜索策略的优点:一是保证浅层的优先级。当遇到无限深分支时,不会造成被困在www中的深层文档出不来的情况。 另一个是它找到两个 HTML 文件之间的最短路径。

  广度优先搜索策略通常是实现爬虫的最佳策略,因为它易于实现并且具有大部分所需的功能。但是如果你要遍历一个指定的站点或者一组深度嵌套的HTML文件,采用广度优先的搜索策略,需要很长时间才能到达深度HTML文件。

  [编辑]

  参考文献

  于成龙,于洪波。网络爬虫技术研究[J].东莞理工学院学报。 2011,5蔡小伦。顺势发展网络爬虫技术[J].科技信息。 2010, 12

  来自“”

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线