网页视频抓取脚本(网络爬虫(ComputerRobot)(又被称为网页蜘蛛))
优采云 发布时间: 2022-01-26 23:19网页视频抓取脚本(网络爬虫(ComputerRobot)(又被称为网页蜘蛛))
网络爬虫
计算机机器人(也称为网络蜘蛛、网络机器人,在 FOAF 社区中,更常称为网络追逐者),是根据一定的规则自动爬取万维网上信息的程序或脚本。其他不太常用的名称是 ant、autoindex、emulator 或 worm。
背景
随着网络的飞速发展,万维网已经成为大量信息的载体,如何有效地提取和利用这些信息成为了巨大的挑战。搜索引擎(Search Engine),如传统的通用搜索引擎AltaVista、Yahoo!而谷歌等作为帮助人们检索信息的工具,已经成为用户访问万维网的门户和指南。但是,这些通用搜索引擎也有一定的局限性,例如:
(1)不同领域和背景的用户往往检索目的和需求不同,一般搜索引擎返回的结果中收录大量用户不关心的网页。
(2)一般搜索引擎的目标是最大化网络覆盖,有限的搜索引擎服务器资源和无限的网络数据资源之间的冲突将进一步加深。
(3)万维网数据形式的丰富和网络技术的不断发展,催生了图片、数据库、音频、视频、多媒体等大量不同的数据。一般搜索对于这些信息内容密集、结构一定的数据,引擎往往无能为力。
(4)一般搜索引擎大多提供基于关键词的检索,难以支持基于语义信息的查询。
网络爬虫
为了解决以上问题,定向爬取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一种自动下载网页的程序。它根据给定的爬取目标有选择地访问万维网上的网页和相关链接,以获取所需的信息。与通用网络爬虫不同,聚焦爬虫不追求大覆盖,而是旨在爬取与特定主题内容相关的网页,为面向主题的用户查询准备数据资源。
1 重点介绍爬虫的工作原理及关键技术概述
网络爬虫是一种自动提取网页的程序。它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成部分。传统爬虫从一个或多个初始网页的URL开始,获取初始网页上的URL。在抓取网页的过程中,它不断地从当前页面中提取新的 URL 并放入队列中,直到满足系统的某些停止条件。焦点爬虫的工作流程比较复杂。它需要按照一定的网页分析算法过滤掉与主题无关的链接,保留有用的链接,并放入等待抓取的URL队列中。然后,它会根据一定的搜索策略从队列中选择下一个要爬取的网页URL,并重复上述过程,直到系统达到一定条件并停止。此外,爬虫爬取的所有网页都会被系统存储,经过一定的分析、过滤、索引,以供后续查询和检索;对于重点爬虫来说,这个过程中得到的分析结果也可能对后续的爬取过程给出反馈和指导。
与通用网络爬虫相比,聚焦爬虫还需要解决三个主要问题:
(1) 获取目标的描述或定义;
(2) 网页或数据的分析和过滤;
(3) URL 的搜索策略。
爬取目标的描述和定义是决定如何制定网页分析算法和URL搜索策略的基础。网页分析算法和候选URL排序算法是确定搜索引擎提供的服务形式和爬虫爬取行为的关键。这两部分的算法密切相关。
2 爬取目标描述
现有的焦点爬虫对爬取目标的描述可以分为三种类型:基于目标网页的特征、基于目标数据模式和基于领域概念。
爬虫根据目标网页的特征爬取、存储和索引的对象一般为网站或网页。根据*敏*感*词*样品的获取方式,可分为:
(1) 预先给定的初始抓取*敏*感*词*样本;
(2) 预先给定的网页类别和类别对应的*敏*感*词*样本,如Yahoo!类别结构等;
(3) 由用户行为决定的抓取目标示例分为:
(a) 在用户浏览过程中显示标记的抓取样本;
(b) 通过用户日志挖掘获取访问模式和相关样本。
网页特征可以是网页的内容特征,也可以是网页的链接结构特征等。
技术研究
基于目标数据模式的爬虫针对网页上的数据,抓取到的数据一般都符合一定的模式,或者可以转化或映射成目标数据模式。
另一种描述方式是构建目标域的本体或字典,用于从语义角度分析主题中不同特征的重要性。
网络搜索策略
网页抓取策略可以分为三种类型:深度优先、广度优先和最佳优先。深度优先在很多情况下会导致爬虫被困的问题。目前,广度优先和最佳优先方法很常见。
广度优先搜索
广度优先搜索策略是指在爬取过程中,完成当前一级搜索后,再进行下一级搜索。该算法的设计和实现比较简单。目前,为了覆盖尽可能多的网页,一般采用广度优先搜索方式。也有许多研究将广度优先搜索策略应用于聚焦爬虫。其基本思想是距初始 URL 一定链接距离内的网页具有较高的主题相关性概率。另一种方法是将广度优先搜索与网页过滤技术相结合,首先使用广度优先策略抓取网页,然后过滤掉不相关的页面。这些方法的缺点是随着爬取的网页数量的增加,
最好的第一次搜索
最佳优先级搜索策略是根据一定的网页分析算法预测候选URL与目标网页的相似度,或与主题的相关度,选择评价最好的一个或几个URL进行爬取。它只访问页面分析算法预测为“有用”的页面。一个问题是爬虫爬取路径上的许多相关网页可能会被忽略,因为最佳优先策略是局部最优搜索算法。因此,需要将最佳优先级与具体应用结合起来进行改进,从而跳出局部最优点。在第 4 节中,将结合网页分析算法进行详细讨论。
深度优先搜索
深度优先搜索策略从起始页面开始,选择一个URL进入,分析该页面中的URL,选择一个进入。这样的链接被逐个链接地获取,直到在处理下一个路由之前处理了一个路由。深度优先策略设计相对简单。虽然门户网站 网站 倾向于提供最有价值的链接并具有较高的 PageRank,但页面价值和 PageRank 会随着每个级别的深入而相应降低。这意味着重要的页面通常更靠近*敏*感*词*,而爬得太深的页面价值较低。同时,该策略的抓取深度直接影响抓取命中率和抓取效率,而抓取深度是该策略的关键。与其他两种策略相比。这种策略很少使用。
网页分析算法
网页分析算法可以分为三类:基于网络拓扑、基于网页内容和基于用户访问行为。
拓扑分析算法
基于网页之间的链接,通过已知的网页或数据,评估与其有直接或间接链接关系的对象(可以是网页或网站等)的算法。进一步分为三种:网页粒度、网站粒度和网页块粒度。
1 网页粒度分析算法
PageRank 和 HITS 算法是最常见的链接分析算法。两者都是通过网页间链接度的递归归一化计算得到每个网页的重要性。PageRank算法虽然考虑了用户访问行为的随机性和Sink网页的存在性,但忽略了大部分用户访问的目的性,即网页与查询主题链接的相关性。针对这个问题,HITS算法提出了两个关键概念:权威网页(authority)和中心网页(hub)。
基于链接的爬取问题是相关页面的主题组之间存在隧道现象,即爬取路径上很多偏离主题的页面也指向目标页面,局部评价策略中断了爬取行为当前路径。参考文献[21]提出了一种基于反向链接(BackLink)的层次上下文模型(Context Model),用于描述指向一定物理跳半径内的目标网页的网页拓扑图的中心Layer 0作为目标网页。网页根据指向目标网页的物理跳数进行层次划分,外层网页到内层网页的链接称为反向链接。
2 网站粒度分析算法
网站粒度资源发现和管理策略也比网页粒度更简单有效。网站粒度爬取的关键是站点的划分和SiteRank的计算。SiteRank的计算方法与PageRank类似,但需要对网站之间的链接进行一定程度的抽象,并在一定模型下计算链接的权重。
网站划分分为两种:按域名划分和按IP地址划分。参考文献[18]讨论了在分布式情况下,通过划分同一域名下不同主机和服务器的IP地址,构建站点地图,并采用类似于PageRank的方法评估SiteRank。同时,根据每个站点不同文件的分布情况,构建文档图,结合SiteRank分布式计算得到DocRank。参考文献[18]证明,使用分布式SiteRank计算不仅大大降低了单个站点的算法成本,而且克服了单个站点对全网覆盖范围有限的缺点。一个额外的好处是,常见的 PageRank 欺诈很难欺骗 SiteRank。
3 网页块粒度分析算法
一个页面往往收录多个指向其他页面的链接,而这些链接中只有一部分指向与主题相关的网页,或者根据网页的链接锚文本表明其重要性高。但是在PageRank和HITS算法中,这些链接是没有区分的,所以往往会给网页分析带来广告等噪声链接的干扰。页面块级(Block?级)链接分析算法的基本思想是通过VIPS页面分割算法将页面划分为不同的页面块(page blocks),然后创建page?to?block和block?block 用于这些页面块。to?page 的链接矩阵,? 分别表示为 Z 和 X。因此,page-to-page图上的page block level的PageRank为?W?p=X×Z;?Block?to?block 图上的BlockRank 是?W?b=Z×X。
网页分析算法
基于网页内容的分析算法是指利用网页内容的特征(文本、数据等资源)对网页进行评价。网页内容已经从基于超文本的内容演变为动态页面(或称为隐藏网页)数据,后者的数据量约为直接可见页面数据(PIW,Publicly Indexable Web)的400~500%。次。另一方面,多媒体数据、Web Service等各种形式的网络资源日益丰富。因此,基于网页内容的分析算法也从最初的相对简单的文本检索方法发展到综合应用包括网页数据提取、机器学习、数据挖掘、语义理解等多种方法。本节根据网页数据的不同形式,基于网页内容的分析算法分为以下三类:第一类是针对以文本和超链接为主的非结构化或非常简单的网页;第二个是结构化网页。对于数据源(如RDBMS)动态生成的页面,不能直接批量访问数据;第三类数据介于第一类和第二类数据之间,结构更好,表明它遵循一定的模式或风格。并且可以直接访问。数据不能直接批量访问;第三类数据介于第一类和第二类数据之间,结构更好,表明它遵循一定的模式或风格。并且可以直接访问。数据不能直接批量访问;第三类数据介于第一类和第二类数据之间,结构更好,表明它遵循一定的模式或风格。并且可以直接访问。
基于文本的网页分析算法
1) 纯文本分类和聚类算法
它在很大程度上借鉴了文本检索的技术。文本分析算法可以快速有效地对网页进行分类和聚类,但很少单独使用,因为它们忽略了网页之间和网页内的结构信息。
2) 超文本分类和聚类算法
根据网页链接的网页的相关类型对网页进行分类,并通过关联的网页推断网页的类型。