针对网络爬虫分析和设计改进的智能的搜索策略外文翻译资料

 2022-12-19 17:10:13

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


针对网络爬虫分析和设计改进的智能的搜索策略

Hongsheng Xu,Bin Zhao,and Ganglong Fan

Henan key Laboratory for Big Data Processing amp; Analytics of Electronic Commerce, Luoyang,

471934, China

摘要:本篇论文主要研究搜索引擎的搜索爬虫部分程序的设计和实现,并且具体介绍了爬虫的概念和重点技术。网络爬虫是一个可以在后台运行,配置文件为初始URL使用宽度优先算法向下爬行并保存目标URL的程序。本文提出了改进的Web爬虫智能搜索策略的分析与设计,并且基于多线程Web爬虫,客户端可以通过套接字访问服务器,客户端将自己的设置请求发送给服务器。

关键词:智能搜索;网络抓取;爬虫;URL;网页过滤

介绍

基于访问热度的搜索引擎的标志性指标就是其点击数,该种搜索引擎的基本思想是大多数人选择访问的网站是最重要的。根据人们访问的网站及在网站上逗留的时间以确定该网站的重要性,因此,该评估系统与基于链接评估的搜索引擎具有相同的缺点。

随着互联网的迅速发展,万维网已成为许多信息的载体。那么如何有效地提取和利用这些信息就成为了一个巨大的挑战。而谷歌,这个本应作为帮助人们检索信息的工具,最终却成为用户访问万维网的门户和指南。一般来说通用搜索引擎有一些局限性,如:不同的领域,不同背景的用户往往有不同的检索目的和要求,但是这些搜索引擎返回的结果却包含大量用户不关心的页面[1]。这是因为通用搜索引擎的目标是实现尽可能多的网络覆盖。自然的这也就导致了有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾进一步加深。

主题网络爬虫是根据既定的抓取目标有选择地访问网页和相关链接或者根据指定的规则及其一般结构获取所需的信息的爬虫程序,这与常见的用户需要提供一个主题描述来指定抓取目标的网络爬虫不同。所以为了确保获取的页面与主题相关,一方面,需要根据主题的描述对相关性对页面进行评估,将其从无关的页面中筛选出来;另一方面,只有那些被评估为有用的才会被添加到挂起的URL队列。主题描述、页面过滤和链接过滤是网络爬虫的研究热点。

网络爬虫是一个根据某些规则捕捉网络信息的自动程序或脚本。此外,有些人使用名称:蚂蚁、自动索引、模拟程序或蠕虫来称呼。因为互联网内容的急剧增加,导致网络搜索功能以及相应的内容检索需求的爆炸性发展。因此随着搜索引擎持续发展[2],人们的需求也不断提高,网络信息搜索已然成为人们每天进行的内容。那么如何使搜索引擎始终能够满足人们的需求呢?为了实现站点索引的初始检索功能,网络机器人,即网络爬虫技术进入时代舞台,而搜索引擎时代终结这是我意译的 hair out of hand 我没找到相关的释义。

传统的爬虫程序是从一个或多个初始网页的URL开始的,并在初始网页上获取URL。然后在对网页进行爬行的过程中,不断从当前网页中提取新的URL并将其放入队列。与传统的爬行器相比,聚焦爬虫的爬行器的工作流程更为复杂,因此有必要根据特定的网页分析算法对主题无关的链接进行过滤。保留有用的链接并将其放入等待获取的URL队列[3]。随后,爬虫将会根据搜索策略从队列中选择下一个页面URL,并重复上述过程,直到达到系统的某个终止条件。并且在此期间所有爬虫爬行网页将被存储、分析、过滤和索引,以便于后续查询和检索。

本文研究的网络爬虫关键技术有:套接字技术:HTTP协议技术、正则表达式技术。基于多线程爬虫模型,利用socket相关函数,根据HTTP协议向源URL发送请求。然后将目标URL作为新一轮向下爬行搜索的源URL,然后根据宽度优先算法对整个网络蜘蛛进行爬行。

网页爬虫运行逻辑分析

搜索引擎几乎不可能抓取互联网上的所有网页。最大的搜索引擎也仅仅只抓取了占网页总数的40%左右。一方面,这是爬行技术的瓶颈,它不能遍历所有的页面,因为存在许多的“死链接”即该URL链接的网页无法定位;另一个原因是存储和处理技术的问题,如果按每页平均20K的大小计算包括图像,100亿页的容量为100times;2000G字节,即使可以存储,也存在下载问题假设一台机器它的下载速度是20k每秒,那么下载完所有的网页需要340台机器全功率运行一年才能达成该目标因此由于数据量大,许多搜索引擎网页爬虫只抓取重要的网页,而在爬行时,对重要性的评估主要是基于网页的链接深度。

随着万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音视频多媒体等不同的数据大量出现[4]。一般的搜索引擎对这些数据往往无能为力,因为这些数据信息密集,具有一定的结构,不能很好地被找到和获取。大多数一般的搜索引擎都提供基于关键字的检索。基于语义信息的查询很难支持,如式1[5]所示。

(1)

为解决上述问题,主题爬虫应运而生。主题爬虫是一个自动下载网页的程序,它会有选择地访问万维网上的网页和相关链接,以获取所需的信息。与一般的爬虫不同的地方在于,聚焦爬虫不寻求大范围的覆盖,而是寻找与特定主题相关的目标页面。同样的为面向该主题的用户提供查询所准备的数据资源同样是它的目标之一。

文章设计了一种特殊的存储数据结构。WebDB 用于从零开始将所有网站结构数据和属性 (包括重新填充的) 存储到站点、数据捕获的结构和属性构成的集合中。WebDB仅由爬虫程序使用,搜索程序不使用它存储两种类型的实体:页面和链接。一个页面表示网络上的一个网页,其索引token就是它的URL。同时,为网页内容建立MD5哈希签名以及存储与页面相关的其他内容,包括:页面中的链接数外部链接、页面抓取信息如果重复提取页面,以及表示页面级别分数的分数。链接表示从一个页面到其他页面的URL。所以WebDB是一个网络图,节点是页面,链接是边缘。

使用Spider类和“ispiderreportable”接口,您可以轻松地向程序添加“Spider”功能。蜘蛛类的.Spider类的工作方式如下。.Spider必须跟踪它访问的URL。这样做的目的是确保Spider多次访问同一个URL;此外,Spider还必须将该URL分成三组,第一组存储在“workloadwaiting”属性中,包含一个未处理的url列表,其中Spider要访问的第一个url也存在;第二组存储在“WorkloadProcessed”中,由Spider处理,不需要再次访问;第三组存在于“WorkloadError”中,其中包含发生错误的url[6]

垂直搜索:又称专业搜索,高速、海量、准确的数据抓取是该问题的强项,每天24小时、每周7天、每周7天,定期批量无人值守调度,添加断点和进行软件监督。在移动互联网端:移动搜索、手机mashup.com、移动社交网络、移动电子商务都离不开结构化数据内容,实时的数据采集内容和高效地收集而来的内容。爬虫最终以富含语义元数据的XML格式输出抓取结果文件,确保数据的自动集成和处理,克服了小屏幕显示和高精度信息检索的障碍。移动互联网不是网络的一个子集,它也包含了互联网的元素。

爬虫程序从一个或多个“初始URL”,即页面上的初始URL开始。在爬虫过程中,从新的URL队列中的当前页面继续爬虫流程,直到系统满足停止条件。动态网页爬行内容分析:动态网页参数分析,根据一定的规则,争取所有要爬行的内容都是URL,只需抓取特定范围的动态网页。至于如何处理抓取到的特殊结构的信息,例如RSS,XML数据,都需要特殊的处理。如果我们想抓取滚动的新闻消息,就需要我们持续的观测爬虫扫描,进而能够立刻从爬虫中找寻到新的内容。

优化的网络爬虫搜索策略的分析和设计

spider是一个在网络上爬行的爬虫。网络爬网程序使用网页的link 地址搜索网页, 从页面 (通常是主页) 开始, 阅读页面的内容, 然后查找网页上的其他链接地址 [7]。然后通过这些链接地址寻找下一页, 这种情况一直持续到网站的所有页面都被捕获。如果你把整个互联网看作是一个网站,那么 web 爬网程序可以使用此原则捕获 internet 上的所有网页。

在爬虫程序系统中, 获取URL构造队列是一个非常重要的部分。但是构造出的URL 队列中 Url 的顺序也是一个重要问题,如公式2所示,因为它涉及首先获取该页面所示。确定这些 URL 顺序的方法称为抓取策略。

(2)

基于内容评估的搜索策略是根据链接文本包括关键字和相关文档来评估链接的价值并确定其搜索策略的,而链接文本通常是指链接周围的描述性文本和上下文的文本信息。而基于链接结构评估的搜索策略是一种通过分析网页之间的关系来确定链接访问顺序并由此确定链接重要性的一种方法。网页排名和点击是各自具有代表性的算法 [8]

存储段的 '抓取列表' 是爬虫程序使用的 url 列表,它的输出数据是从 WebDB 生成的.Fecher的输出数据。而.Fecher的输出数据是从提取列表中检索提取处理出来的。随后对.Fecher进行一次反向索引 [9],接着,将索引结果存储在存储段中。存储段生命周期是有限的,直到下一个工作周期开始之前,它都不会工作。而默认的重新收集间隔为30天。所以可以删除时间范围之外的存储段,并且如果这样做可以节省大量磁盘空间。存储段的名称包括日期和时间,因此,可以非常直观的看到他们的生命周期。

如果想要进行页面解析的话首先,您不必对 Dom 结构自己设计解析, 您有现成的库,而且编程并不复杂;其次,您可以实现非常复杂但灵活的定位规则应用库的话,而如果使用正则表达式的话定位规则则会很难编写。如果定位是为了解析HTML文件结构,那么用正则表达式分析 HTML文件并不容易,相反如果将该任务交给现成的库,则分析过程会变的容易的多。最后,假设您需要解析 Javascript 的内容,正则表达式就显的无能为力了,同时Dom解析的作用也会很小, 但是如果充分利用平台来解析AJAX的内容的话,整个过程就变得可行了。

数据抓取是一个循环过程: 抓取工具从 WebDB 生成一个提取列表集合,提取工具根据提取列表从网络下载网页内容;该实用程序根据提取工具找到的新链接更新 Webdb;然后生成一个新的提取列表。这个抓取循环通常被称为 nutch 的生成fetch更新循环。

文献

[1] Nie J Y. A general logical Approach to inferential information retrieval. Encyclopedia of Computer

Science and Technology, 2011:203-226.

[2] Saggion H, Lapalme G.Concept Identification and Presentation in the Context of Technical Text

Summarization.In: Proc of the Workshop on Automatic Summarization, New Brunswick, New

Jersy: Association for Compution Linguistics, 2010: 1-10.

[3] H.-s. XU, R.-l. ZHANG, “Semantic Annotation of Ontology by Using Rough Concept Lattice

Isomorphic Model”, International Journal of Hybrid Information Technology, Vol.8, No.2, 2015,

pp.93-108.

[4] Claudio Carpineto, Renato De Mori, Giovanni Romano etal. An information- theoretic approach to

Automatic query expansion. ACM Transactions on Information System, 2011, 19(1): 1-27.

[5] Xu Lili. A comparative study of professional search engines, Modern Intelligence, No. 1, 2005, No.

188-190.

[6] Morris A H, Kaspcr G M, Adams D, The Effects and Limitations of Automated Text Condensing

on Reading Comprehension Performance. Information Systems Research,2012, 3(1).

[7] Wu Hongqin. Study on the Classification system of Chinese search engine, Library Journal, No. 3,

2015, No. 69-70.

[8] Hongsheng Xu, Ruiling Zhang. Novel Approach of Semantic Annotation by F

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[19957],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。