毕业设计
(英文资料翻译)
英文题目: 1. Web Crawler: Extracting the Web Data
2. An Focused Adaptive Web Crawling for Efficient Extraction of Data From Web Pages
中文题目: 1. Web爬虫:提取Web数据
2.一种具有针对性的自适应网络爬虫, 用于有效地从网页中提取数据
学院 (系): 自动化学院
专业班级: 自动化zy1401班
学生姓名: 杜秋实
指导教师: 张素文
Web爬虫:提取Web数据
|
Mini Singh Ahuja 研究学者 旁遮普科技大学 Jalandhar(印度城市) |
Dr Jatinder Singh Bal 教授 KC集团研究院 Nawashahr (印度城市) |
Varnica 学生 GNDU, 区域校园 Gurdaspur(印度城市) |
摘要-近年来,互联网的使用增加了很多。用户可以通过使用不同的超文本链接找到他们的资源。互联网的使用致使了网络爬虫的发明。网络爬虫是一个完整的文本搜索引擎,它可以帮助用户浏览网页。这些网络爬虫也可以用于进一步的研究活动。例如,抓取的数据可以用来寻找缺失的链接,在复杂的网络中进行社区检测。在本文中,我们回顾了web爬虫程序:它们的体系结构、类型以及在搜索引擎使用web爬虫时所面临的各种挑战。
关键词:网络爬虫,盲遍历算法,最优启发式算法 等
Ⅰ- 介绍
网络中包含了大量关于不同主题的信息。与传统馆藏(如图书馆)相比,网络没有集中的内容组织结构。这些数据可以使用网络爬虫下载。因此,Web爬虫是用于自动从Web上下载页面的软件。它也被称为网络蜘蛛或网络机器人。网络爬取是收集数据并跟上迅速扩大的互联网的重要方法。 Web爬取也可以称为图搜索问题,因为Web被认为是一个大图,其中节点是页面,边是超链接。网络爬虫可以用在各个领域,最突出的一个是索引大量页面并允许其他人搜索该索引。因为病毒或智能代理所做的事情,Web爬虫实际上并未在连接到Internet的计算机上移动,而只是从一组已经存在的位置发送Web服务器上文档的请求。爬虫采取的一般过程如下:
- 检查要下载的下一页 - 系统跟踪要下载到队列中的页面。
- 检查页面是否被允许下载 - 检查机器人排除文件,并阅读页面的标题以查看是否提供排除指令。 有些人不希望他们的页面被搜索引擎存档。
- 下载整个页面。
- 从页面中提取所有链接(其他网站和页面地址),并将其添加到上面提到的队列中,稍后再下载。
- 提取所有单词并将其保存到与此页面关联的数据库中,并保存单词的顺序,以便人们可以搜索短语,而不仅仅是关键字
- 可选择筛选诸如成人内容,页面的语言类型等内容
- 保存页面摘要并更新页面的最后处理日期,以便系统知道它应该在稍后的某阶段重新检查页面。
Ⅱ 文献调查
许多研究人员已经在他们的研究工作中使用网络爬虫来获取网络数据。 Web爬取可用于Web挖掘领域,从万维网中自动发现和提取信息。 Minas Gjoka [10]曾使用网络数据(由网络爬虫提取)来衡量在线社交网络的统计属性。 Salvatore A. Catanese,Pasquale De Meo,Emilio Ferrara [11]在社交网站上使用爬虫,即也就是facebook上面。这些数据后来被用来研究Facebook的社区结构。 Ari Pirkola [12] 重点研究从网络获取生物学数据。 Priyanka-Saxena [13]介绍了一个名为Mercator的网络爬虫,它是一个用java编写的可伸缩网页爬虫。 Christopher Olston和Marc Najork [1]介绍了网络爬行的基础知识。在他的论文中,他讨论了爬行体系结构,并提供了关于未来爬取范围的信息。 Vladislav Shkapenyuk和Torsten Suel [14]给出了分布式网络爬虫的设计和实现。 Raja Iswary,Keshab Nath [15]讨论了开发爬虫的不同技术以及如何构建一个高效的爬虫。
Ⅲ 网络爬虫的体系结构
网络爬虫是网络搜索引擎的主要组件之一。网络爬虫的增长与网络增长的增长方式相同。网络爬虫程序提供了一个URL列表,每个URL都称为种子。每个URL都由网络爬虫访问。它识别页面中的不同超链接,并将其添加到要访问的URL列表中。这个列表被称为爬行前沿。通过使用一组规则和策略,可以单独访问边界中的URL。解析器和生成器下载来自互联网的不同页面并存储在搜索引擎的数据库系统中。然后将URL放入队列中,稍后由调度程序调度,并可在需要时逐个由搜索引擎逐一访问。根据需要,随时可以提供正在搜索的链接和相关文件。借助合适的算法,网络爬虫可以找到搜索引擎的相关链接并进一步使用它们。数据库是如DB2一样非常大的机器,用于存储大量数据[3]
图1 网路爬虫的体系结构
Ⅳ 网络爬虫的类型
不同类型的网页爬虫取决于如何抓取网页以及如何检索连续的网页以访问下一页。有如下几种:
A.广度优先爬虫:
它从一小部分页面开始,然后通过以广度优先[6]方式的链接探索其他页面。实际上,网页不是以广度优先的方式遍历,而是可能使用各种策略。例如,它可能会首先抓取最重要的页面。
B.增量网络爬虫:
增量搜寻器[5]是一个会更新现有的一组下载页面,而不是每次从头重新开始爬网。这涉及到要确定自上次爬取以来页面是否发生过更改。抓取工具将根据一系列抓取周期持续抓取整个网络。使用自适应模型,该模型使用来自先前周期的数据来确定应该检查哪些页面用于更新,从而达到了 高的新鲜度和低峰值负荷的结果。
图2 增量式爬虫的体系结构
C.样式聚焦爬虫:
样式聚焦爬虫处理Web上表单的稀疏分布。样式爬虫 [9]通过以下方式避免在非生产性路径中爬行:将搜索限制在特定主题; 学习导致包含可搜索表单的页面的链接和路径的特征; 并采用适当的停止标准,描绘了样式爬虫的体系结构。
图3 样式聚焦爬虫的体系结构
爬虫使用两个分类器来指导搜索:页面和链接分类器。 而后,第三个分类器:表单分类器 用于过滤掉无用的表单。 训练页面分类器将页面分类为属于分类中的主题。 它使用与最好的第一个爬虫相同的策略。
D.聚焦爬虫:
聚焦爬虫基于由chakrabarti等[17,19]开发的超文本分类器。 聚焦爬虫有三个主要组成部分:一个分类器,它对抓取的网页进行相关性判断,以确定链接扩展;一个蒸馏器,它确定抓取页面的中心性以确定访问优先级;一个具有动态可重新配置优先级由分类器和蒸馏器控制的爬取器。 聚焦爬虫旨在为克服排名较低的即时页面与手头主题相关的问题提供更简单的替代方案。 这个想法是从一个高度排列的页面关系开始递归地执行一个详尽的搜索到一个给定的深度。
E.隐藏的网络爬虫:
网络上的大量数据实际上都驻留在数据库中,并且只能通过发布适当的查询或通过在网络上填写表单来检索。最近,人们对这种被称为“深度网络”或“隐藏网络”的数据的兴趣一直在关注。现在的爬虫只抓取公共可索引网页(PIW),即可通过忽略搜索页面的超链接访问的一组页面,以及需要授权或事先注册的表单。实际上,他们可能会忽略隐藏在搜索表单后面的大量高质量数据。
F.并行爬虫:
随着Web规模的增长,使用单个进程检索整个或大部分Web变得更加困难。因此,许多搜索引擎经常并行运行多个进程来执行上述任务,从而使下载速率最大化。这种类型的爬虫被称为并行爬虫。
G.分布式网络爬虫:
该爬虫在工作站网络上运行。索引网络是一项非常具有挑战性的任务,因为网络的发展和动态性质。随着网络规模的不断增长,必须将爬网过程并行化,以在合理的时间内完成爬网过程。即使使用多线程,单个爬网过程也不足以应付这种情况。在这种情况下,流程需要分发到多个流程,以使流程可扩展。它可以扩展到每秒几百页。网络规模增长的速度对于爬行过程的并行化至关重要。在分布式Web爬虫中,URL服务器将单个URL分发给多个爬虫,并行地下载网页。抓取工具然后将下载的页面发送到中央索引器,在该中央索引器上提取链接并通过URL服务器将其发送给抓取工具。抓取过程的这种分布式性质降低了硬件要求,并提高了总体下载速度和可靠性[2]。 FAST Crawler [20]是一种分布式爬行程序,使用于快速搜索和翻译。
Ⅴ 抓取算法
到目前为止,有许多爬行算法可用。涉及爬虫工作的基本步骤如下:
·从URL列表中删除URL。
·确定其主机名的IP地址。
·下载相关文件。
·提取文档中的任何可用链接。
一个好的爬行算法的特点
速度
一个简单的爬虫通常每天获取86,400页。通过这种方式,为了获得200亿页,需要634年。为了实现抓取目标需要大量的机器。应该遵循一种有效的机制来提高爬取效率。
礼貌
爬取算法应该这样设计,即一次只能向服务器发送一个请求。为此,需要在请求之间插入礼貌延迟。这将有助于降低风险。
排除的内容
在从站点获取页面之前,需要获取站点的robot.txt文件,以便确定Web主站是否指定了可以抓取多少文件[9]。
重复的内容
爬行者应该能够识别并消除不同网址上可用的重复数据。为此,需要像校验和,访客计数器,指纹等方法。
连续爬行
定期执行完整爬网并不是有效的方法。这导致低值和静态页面。
垃圾邮件拒绝
抓取工具应该能够拒绝指向当前黑名单上的URL的链接,并且可以降低链接到黑名单站点的页面的优先级。
基本的抓取方法
A.盲目遍历方法
首先将一个种子应用于抓取过程。 这个过程是盲目的,因为这是一个从边界选择下一个URL的特定方法。 广度优先搜索是这种方法的一个非常常见的例子。
- 广度优先算法
这是最简单的抓取策略。 它是在1994年设计的。它使用边界作为FIFO队列,并按照遇到的顺序抓取链接。 它基本上用作基准爬虫。 这种方法的主要缺点是它按照它们进入边界的顺序遍历URL。 如果页面数量少,实施这种方法是很好的。 在现实生活中,大量无用的链接是由无用的页面产生的,结果导致了边界上时间和内存的浪费。 因此,应该从边界选取有用处的页面。
B.最佳优先启发式方法
这是1998年开发的,目的是为了克服盲目运行方法的问题。 这些链接是根据一些估计,分数或优先级从边界中选出的。 始终打开并遍历最佳可用链接。 使用了各种数学公式。
·天真的最佳优先算法
它使用相关函数来计算所需关键字与每个页面之间的词汇相似度,并将该值与边界相关联。这种方法总是遍历最佳可用链接。优先队列被用作数据结构[9]。
·页面排序算法
这是Brin和Page [8]提出的。页面的页面排名代表随机访问者在任何给定时间在该页面上的概率。页面的页面排名计算为链接到它的所有页面的页面排名总和除以每个页面上的链接数量。
·鱼搜索算法
静态搜索不保证有效的结果,但动态搜索可以。动态搜索的一个例子是鱼搜索算法。该算法认为相关文档包含更多相关的相邻文档。它将Internet视为有向图,其中网页是节点,超链接是边缘。因此,需要遍历有向图。要搜索的URL列表将保留在其中,具有高优先级的URL将放在第一位。它将被首先搜索,然后搜索其相关页面。 URL的维护是这种算法的一个关键点[9]。
Ⅵ 网络爬虫中的用户
网络爬虫有各种用途:
爬行程序还可用于自动执行网站上的维护任务,例如检查链接或验证HTML代码。 爬网程序可用于从网页收集特定类型的信息,例如收集电子邮件地址(通常是对于垃圾邮件)。
搜索引擎经常使用网络爬虫收集公共网页上提供的信息。 他们收集数据,以便当互联网冲浪者在他们的网站上输入搜索条件时,他们可以迅速为冲浪者提供相关的网站。
语言学家使用网络爬虫进行文本分析。 他们梳理互联网,以确定今天常用的词语。
爬行者已被用于生物医学应用,如寻找基因的相关文献[18]。
市场研究人
全文共14852字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[15490],资料为PDF文档或Word文档,PDF文档可免费转换为Word
