浅析网络爬虫技术发展现状

(整期优先)网络出版时间:2024-04-09
/ 2

浅析网络爬虫技术发展现状

韩典伯   刘华(等同第一作者)

国家知识产权局专利局专利审查协作天津中心   天津   300304

摘要:本文介绍了网络爬虫技术的发展脉络,简要描述了其工作原理以及如何对一个搜索引擎的好坏进行初步评价。

关键词:搜索引擎;网络爬虫

1、引言

随着互联网的蓬勃发展,大部分智能终端的应用程序都提供了消息推送功能,比如新闻客户端的热点新闻推荐、购物网站的相关产品推荐、社交媒体的感兴趣好友推荐等。为了使推荐内容更精准,服务器或终端需要获取待推荐对象的相关信息。过去需要通过人工标记列表规则获取信息推送的特点,从而基于这些特点向用户推送符合要求的有价值的内容。显而易见的是,这种人工标记的方式已经不符合时代的发展需要了。

2、技术脉络

网络爬虫(Web Crawler),也叫网络蜘蛛(Web Spider),是一种按照一定规则,自动地抓取万维网信息的程序或者脚本。要说网络爬虫的起源,还得从搜索引擎说起。早在Web出现之前,互联网上就已经存在许多旨在让人们共享的信息资源了。这些资源当时主要存在于各种允许匿名访问的FTP站点。1990年,加拿大麦吉尔大学的几个大学生开发了一个软件Archie。它是一个可搜索的FTP文件名列表,用户必须输入精确的文件名搜索,然后Archie会告诉用户哪一个FTP地址可以下载这个文件。Archie虽然还不是搜索引擎,但是从它的工作原理上看,它是所有搜索引擎的祖先。

当万维网出现后,人们可以通过html传播网页信息,网络上的信息开始成倍增长。人们纷纷使用各种方法将网络上的信息搜集来,进行分类、整理,以方便查找。人们很熟悉的网站雅虎(Yahoo)就是在这个环境下诞生的。

当爬虫程序出现时,现代意义上的搜索引擎才初露端倪。1994年7月20日发布的Lycos网站第一个将爬虫程序接入其索引程序中。引入爬虫后给其带来的最大优势就在于其远胜于其他搜索引擎的数据量。1995年12月,Infoseek与Netscape的战略性协议,使它成为一个强势搜索引擎。1995年12月15日,Alta Vista正式上线,它是第一个支持高级搜索语法的搜索引擎,成功地整合了此前人类所有的信息检索技术。Google就是站在这样的巨人的肩膀上颠覆并创造着。

1998年9月,在佩奇和布林创建Google之时,业界对互联网搜索功能的理解局限于某个关键词在一个文档中出现的频率越高,该文档在搜索结果中的排列位置就要越显著。这就引出了这样一个问题,如果一个页面充斥着某一个关键字的话,那么它将排在很显著的位置。佩奇和布林发明了网页级别(PageRank)技术,来排列搜索结果。Google以其复杂而全自动的搜索方法排除了任何认为因素对搜索结果的影响。没人能花钱买到更高的网页级别,从而保证了网页排名的客观公正。

搜索引擎的原理就在于,先从一个或若干个初始网页的URL开始,获取初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列;再由分析程序对收集到的网页进行分析,提取相关信息,计算相关度,建立网页索引数据库;最后,当用户输入关键词搜索时,由搜索程序从网页索引数据库中找到所有符合该关键词的网页,根据相关度、权重等要素进行排序,并返回给用户。至此,对搜索引擎和爬虫网络应该就有了初步的了解。

3、工作原理及评价指标

下图展现了一般网络爬虫的基本过程:

20210501231002107.jpg

爬虫的第一个步骤就是对起始URL发送请求报文,以获取其返回的响应。

请求报文包括以下四个方面:请求行、请求头、空行和请求体。

20210501231013441.jpg

爬虫的第二个步骤是获取特定的URL返回的响应,以提取包含在其中的数据。同样的,响应是指完整响应报文,它包括四个部分:响应行、响应头、空行和响应体。

20210501231028575.jpg

最后就是解析网页。包括提取网页上的链接和提取网页上的资源。提取链接实质上是指获取存在于待解析网页上的其它网页的链接,网络爬虫需要给这些链接发送请求,如此循环,直至把特定网站全部抓取完毕为止;提取数据则是网络爬虫的目的,常见的数据类型包括文本、图片、视频等。最终,我们可以对所获取的资源作进一步处理,从而提取出有价值的信息。

在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,而决定这些URL排列顺序的方法,叫做抓取策略。常见的抓取策略包括:深度优先遍历策略、广度优先遍历策略、反向链接数策略、Partial PageRank策略等。

爬虫的类型基本上可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫。

网络爬虫的评价指标主要包括覆盖率、时效性和重复率。

关于覆盖率:网络爬虫的首要目标就是抓取互联网上所需的信息。因此,有价值的信息是否都收录,收录的比例(即覆盖率)是网络爬虫的基本评价指标。

关于时效性:用户对搜索引擎的查询要求越来越高,其中重要的一点就是查询时效性,即事件发生并在互联网上传播后(以新闻、论坛、博客等各种形式),用户需要通过搜索引擎尽快能检索到相应内容。

关于重复率:互联网上重复的内容很多,如何尽早的发现页面重复并删除是网络爬虫需要解决的问题。转载重复、站点级重复、目录级重复、CGI级重复、参数级重复等等。及早发现这些问题能节省系统的存储、抓取、建库和展现资源。

4、结语

如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,从某一个页面出发,读取网页的内容,找到网页中的其它链接地址,然后继续循环下去,直到把这个网站的所有网页都抓取完为止。现阶段,国内搜索引擎的发展也十分迅速,通过与神经网络、图像识别领域相结合,无论是市场占有还是专利布局都有长足的进步。期待在不久的将来,网络爬虫技术能进一步改善用户上网体验。