大数据学习企鹅群:非结构化数据的有利工具

优采云 发布时间: 2021-03-22 06:16

  大数据学习企鹅群:非结构化数据的有利工具

  网络数据采集是指通过网络采集器或网站公共API从网站获得数据信息。此方法可以从网页中提取非结构化数据,将其存储为统一的本地数据文件,然后以结构化方式进行存储。它支持采集个文件或附件,例如图片,音频,视频等,并且附件和文本可以自动关联。

  在互联网时代,网络爬虫主要为搜索引擎提供最全面,最新的数据。

  在大数据时代,网络爬虫是更有利于从Internet提取采集数据的工具。已经有数百种已知的Web爬网工具,并且Web爬网工具基本上可以分为三类。

  分布式Web采集器工具,例如Nutch。

  java网络爬虫工具,例如Crawler4j,WebMagic,WebCollector。

  非Java网络采集器工具,例如Scrapy(基于python语言开发)。

  本节首先简要介绍Web爬网程序的原理和工作流程,然后讨论Web爬网程序的爬网策略,最后介绍典型的Web工具。

  网络爬虫的原理

  Web爬网程序是一种程序或脚本,可以根据某些规则自动爬网Web信息。

  网络采集器可以自动采集他们可以访问的所有页面内容,从而为搜索引擎和大数据分析提供数据源。在功能方面,采集器通常具有三个功能:数据采集,处理和存储,如图1所示。

  

  图1 Web采集器的原理图

  除了供用户阅读的文本信息外,该网页还收录一些超链接信息。

  许多初学者对大数据的概念含糊不清。什么是大数据,可以做什么,学习时应该遵循的路线,学习后应该去哪里发展,我想加深了解。欢迎有志学习的学生加入大数据学习企鹅小组:458345782,有很多干货(零基础和先进的经典实战)可以与您分享,还有清华大学毕业的高级大数据讲师给您免费课程,与您分享当前中国最完整的大数据高端实践学习过程系统

  Web爬网程序系统通过网页中的超链接信息连续获取Internet上的其他网页。 Web采集器从一个或几个初始网页的URL开始,并在初始网页上获取URL。在抓取网页的过程中,它会不断从当前页面提取新的URL,并将它们放入队列中,直到满足系统的特定停止条件为止。

  网络采集器系统通常会选择一些更重要的网站 URL,这些URL具有较高的输出程度(网页中超链接的数量)作为*敏*感*词*URL集合。

  Web爬网程序系统使用这些*敏*感*词*集合作为初始URL来开始数据爬网。由于该网页收录链接信息,因此将通过现有网页的URL获得一些新的URL。

  可以将网页之间的指向结构视为一个森林,每个*敏*感*词*URL对应的网页就是该森林中一棵树的根节点,从而使Web爬虫系统可以根据广度优先搜索算法进行搜索。或深度优先搜索该算法遍历所有网页。

  由于深度优先搜索算法可能会导致采集器系统陷入网站内部,因此不利于在更接近网站主页的网页上搜索信息,因此宽度优先搜索算法采集通常使用网页。

  网络爬虫系统首先将*敏*感*词*URL放入下载队列中,然后简单地从队列的开头取出URL以下载相应的网页,获取网页的内容并将其存储,然后解析链接网页中的信息,您可以获取一些新网址。

  其次,根据某种网络分析算法过滤掉与主题无关的链接,保留有用的链接,并将其放入等待抓取的URL队列中。

  最后,取出一个URL,下载其相应的网页,然后对其进行解析,然后重复该过程,直到它遍历整个网络或满足某些条件为止。

  网络采集器工作流程

  如图2所示,Web采集器的基本工作流程如下。

  1)首先选择*敏*感*词*网址的一部分。

  2)将这些URL放入要抓取的URL队列中。

  3)从要爬网的URL队列中取出要爬网的URL,解析DNS以获取主机的IP地址,然后下载与该URL对应的网页并将其存储在下载的Web中页面库。另外,将这些URL放入爬网的URL队列中。

  4)分析爬网的URL队列中的URL,分析其中的其他URL,然后将这些URL放入要爬网的URL队列,从而进入下一个周期。

  

  图2 Web爬网程序的基本工作流程

  网络爬虫的爬网策略

  一般搜索引擎(例如Google和百度)抓取的网页数量通常以1亿为单位。那么,面对如此多的网页,网络爬虫如何才能尽可能地遍历所有网页,从而尽可能地扩大网页信息的覆盖范围?这是Web采集器系统面临的一个非常关键的问题。在Web采集器系统中,搜寻策略决定了搜寻网页的顺序。

  本节首先简要介绍Web爬网程序的爬网策略中使用的基本概念。

  1)网页关系模型

  从Internet的结构的角度来看,网页通过不同数量的超链接相互连接,从而形成了彼此相关的大型且复杂的有向图。

  如图3所示,如果一个网页被视为图中的某个节点,并且链接到该网页中其他网页的链接被视为该节点到其他节点的边缘,那么我们可以很容易地将整个网页视为互联网上的网页被建模为有向图。

  理论上,通过遍历算法遍历图形,您可以访问Internet上几乎所有的网页。

  

  图3网页关系模型图

  2)网页分类

  要从爬网程序的角度划分Internet,可以将Internet上的所有页面分为5个部分:已下载但未到期的页面,已下载和已到期的页面,已下载页面,已知页面和未知页面,如图所示。 4.如图所示。

  爬行的本地网页实际上是Internet内容的镜像和备份。互联网正在动态变化。当Internet上的一部分内容更改时,爬网的本地网页将过期。因此,下载的网页分为两种:下载的未到期网页和下载的到期网页。

  

  图4网页分类

  要下载的网页是指要抓取的URL队列中的那些页面。

  可以看出,网页是指尚未被抓取的网页,也不是要抓取的URL队列中的网页,但是可以通过分析抓取到的网页或该URL的对应页面来获得。爬行。

  还有一些网页爬网程序无法直接爬网和下载的网页,称为不可知网页。

  以下重点介绍了几种常见的爬网策略。

  1.通用网络抓取工具

  通用Web采集器也称为全Web采集器。爬网对象从某些*敏*感*词*URL扩展到整个Web,主要是门户网站搜索引擎和大型Web服务提供商采集数据。

  为了提高工作效率,一般的网络爬虫将采用某些爬虫策略。常用的爬网策略包括深度优先策略和广度优先策略。

  1)深度优先策略

  深度优先策略意味着网络爬虫将从起始页面开始,并逐个跟踪链接,直到不再深入为止。

  Web采集器在完成搜寻分支后将返回上一个链接节点,以进一步搜索其他链接。遍历所有链接后,爬网任务结束。

  此策略更适合垂直搜索或网站搜索,但是在爬网具有更高页面内容级别的网站时,会造成大量资源浪费。

  以图3为例,遍历的路径为1→2→5→6→3→7→4→8。

  在深度优先策略中,当搜索某个节点时,该节点的子节点和该子节点的后继节点都优先于该节点的同级节点。深度优先的策略是:搜索空间时,它将尽可能深入,并且仅在找不到节点的后继节点时才考虑其同级节点。

  这种策略确定深度优先策略可能无法找到最佳解决方案,甚至由于深度的限制而无法找到解决方案。

  如果没有限制,它将沿路径无限期扩展,这将“捕获”到大量数据中。在正常情况下,使用深度优先策略会选择合适的深度,然后重复搜索直到找到解决方案为止,因此降低了搜索效率。因此,当搜索数据量较小时,通常采用深度优先策略。

  2)广度优先策略

  广度优先策略根据网页内容目录的深度对网页进行爬网。首先对较浅目录级别的页面进行爬网。对同一级别的页面进行爬网时,爬网程序将进入下一个级别以继续爬网。

  以图3为例,遍历路径为1→2→3→4→5→6→7→8

  由于广度优先策略是在第N层的节点扩展完成后进入第N + 1层,因此可以保证找到路径最短的解决方案。

  该策略可以有效地控制页面的爬网深度,避免遇到无限深分支时无法结束爬网的问题,实现方便,无需存储大量中间节点。缺点是爬网到目录需要很长时间。更深的页面。

  如果搜索期间分支过多,即该节点的后继节点过多,则该算法将耗尽资源,并且在可用空间中找不到解决方案。

  2.专注于网络爬虫

  焦点Web采集器,也称为主题Web采集器,是指选择性地搜寻与预定义主题相关的页面的Web采集器。

  1)基于内容评估的抓取策略

  DeBra将文字相似度的计算方法引入到Web采集器中,并提出了Fish搜索算法。

  该算法将用户输入的查询词作为主题,并将收录该查询词的页面视为主题相关页面。它的局限性在于它无法评估页面与主题的相关性。

  Herseovic改进了Fish搜索算法,并提出了Shark Search算法,该算法使用空间矢量模型计算页面与主题之间的相关性。

  使用基于连续值的链接值计算方法,不仅可以计算出与主题相关的已爬网链接,还可以计算量化的相关度。

  2)基于链接结构评估的抓取策略

  网页与一般文字不同。这是一个半结构化文档,收录大量结构化信息。

  网页并不单独存在。页面上的链接指示页面之间的相互关系。基于链接结构的搜索策略模型使用这些结构特征来评估页面和链接的重要性,以确定搜索顺序。其中,PageRank算法就是这种搜索策略模型的代表。

  PageRank算法的基本原理是,如果一个网页被多次引用,那么它可能是一个非常重要的网页。如果一个网页没有被多次引用,而是被一个重要的网页引用,那么它也可能是一个重要的网页。网页的重要性会均匀地传递到它所引用的网页。

  通过此页面上存在的前向链接将页面的PageRank分开,并将获得的值添加到前向链接所指向的页面的PageRank中,以获取链接页面的PageRank。

  如图5所示,PageRank值为100的网页将其重要性平均转移到它所引用的两个页面上,每个页面获得50。类似地,PageRank值为9的网页引用了它。 3页中每页传递的值是3。

  PageRank值为53的页面的值是从引用该页面的两个页面传递的值中得出的。

  

  图5 PageRank算法示例

  3)基于强化学习的爬行策略

  Rennie和McCallum将增强型学习引入了重点爬虫中,使用贝叶斯分类器根据整个网页文本和链接文本对超链接进行分类,并计算每个链接的重要性,从而确定链接访问的顺序。

  4)基于上下文地图的抓取策略

  Diligenti等。提出了一种爬网策略,该爬网策略通过建立上下文映射来学习网页之间的相关性。该策略可以训练机器学习系统,通过该系统可以计算当前页面和相关网页之间的距离。优先访问最近页面中的链接。

  3.增量网络抓取器

  增量Web爬网程序是指对下载的网页进行增量更新并且仅对新生成或更改的网页进行爬网的爬网程序。可以在一定程度上确保已爬网的页面尽可能新。

  渐进式网络爬虫有两个目标:

  将存储在本地页面中的页面保持为最新页面。

  提高本地页面集中页面的质量。

  要实现第一个目标,增量Web爬网程序需要重新访问该网页以更新本地页面集中的页面内容。常用的方法有统一更新方法,个体更新方法和基于分类的更新方法。

  在统一更新法中,无论网页更改的频率如何,网络爬虫都以相同的频率访问所有网页。

  在单独更新方法中,网络爬虫会根据单个网页更改的频率重新访问每个页面。

  在基于分类的更新方法中,网络爬虫根据网页更改的频率将网页分为两种类型,即更新速度更快的网页子集和更新速度较慢的网页子集,然后分别访问这两种类型的网页频率。

  为了实现第二个目标,增量网络爬虫需要对网页的重要性进行排名。常见的策略包括广度优先策略,PageRank优先策略等。

  4.深度网络抓取工具

  根据网页的存在方式,它们可以分为表面网页和深层网页。

  表面网页是指可以由传统搜索引擎索引的页面,主要是可以通过超链接访问的静态网页。

  深层网页是那些大多数内容不能通过静态链接获得的网页,并且隐藏在搜索表单的后面,而这些表单只能由用户提交某些关键词来获得。

  深度网络采集器体系结构包括6个基本功能模块(搜寻控制器,解析器,表单分析器,表单处理器,响应分析器,LVS控制器)和两个采集器内部数据结构(URL列表和LVS)表)。

  其中,LVS(LabelValueSet)表示标签和值的集合,并用于表示填充表单的数据源。在爬网过程中,最重要的部分是表单填充,它包括基于领域知识的表单填充和基于网页结构分析的表单填充。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线