c 抓取网页数据(如何在大数据分析R语言中进行网络抓取的基础知识)

优采云 发布时间: 2021-09-23 03:18

  c 抓取网页数据(如何在大数据分析R语言中进行网络抓取的基础知识)

  时间:2020年5月26日点击:泰晤士报作者:Sissi

  互联网已经成熟,可以用于自己的个人项目数据集。有时,您很幸运,可以访问API,直接使用大数据分析语言请求数据。有时候,你不会很幸运,也无法从一个整洁的格式中获得。当这种情况发生时,我们需要转向网页爬行,这是一种通过在网站HTML代码中查找所需数据来获取待分析数据的技术

  在本教程中,我们将介绍如何使用大数据分析R语言进行网络爬网的基本知识。我们将从国家气象局的天气预报网站中获取数据,并将其转换为可用格式

  当我们找不到我们需要的数据时,网络爬网将提供一个机会,并为我们提供实际创建数据集所需的工具。此外,由于我们使用大数据分析R语言进行网页捕获,如果我们使用的网站已更新,我们只需再次运行代码即可获得更新的数据集

  理解网页

  在开始学习如何抓取网页之前,我们需要了解网页本身的结构

  从用户的角度来看,网页以一种美观易读的方式组织文本、图像和链接。但是网页本身是用特定的编码语言编写的,然后由我们的web浏览器进行解释。在对网页进行爬网时,我们需要处理网页本身的实际内容:浏览器解释网页之前的代码

  用于构建网页的主要语言有超文本标记语言(HTML)、级联样式表(CSS)和javasc大数据分析语言IPT。HTML提供网页的实际结构和内容。CSS为网页提供样式和外观,包括字体和颜色等细节。Javasc大数据分析语言IPT提供网页功能

  在本教程中,我们将主要关注如何使用大数据分析R语言web爬行来读取构成网页的HTML和CSS

  HTML

  与大数据分析语言不同,html不是一种编程语言。相反,它被称为标记语言——它描述网页的内容和结构。Html使用标记进行组织,标记由符号包围。不同的标签执行不同的功能。许多标签将一起形成并收录网页的内容

  最简单的HTML文档如下所示:

  

  尽管上面是一个合法的HTML文档,但它没有文本或其他内容。如果您将其另存为。HTML文件并用web浏览器打开它,您将看到一个空白页

  请注意,html一词用方括号括起来,表示它是一个标记。要在此HTML文档中添加更多结构和文本,我们可以添加以下内容:

  

  在这里,我们添加和标记,为文档添加更多结构

  标记是我们用来在HTML中指定段落文本的标记

  HTML中有许多标记,但我们无法在本教程中涵盖所有标记。如果您感兴趣,可以查看此网站。最重要的一点是要知道标记具有特定的名称(HTML、body、P等),以便可以在HTML文档中识别它们

  请注意,每个标记都是“成对”的,这意味着每个标记都伴随着另一个具有类似名称的标记。也就是说,开始标记与指示HTML文档开始和结束的另一个标记配对。同样

  认识到这一点很重要,因为它允许标记彼此嵌套。嵌套在和标记中,并嵌套在中。这种嵌套为HTML提供了一种“树”结构:

  

  当使用大数据分析R语言进行网页捕获时,这种树状结构将告诉我们如何找到一些标记,因此我们必须记住这一点。如果其他标签嵌套在标签中,则收录的标签称为父标签,每个标签称为子标签。如果父母有一个以上的孩子,这些孩子标签统称为“兄弟姐妹”。父母、子女和兄弟姐妹的这些概念让我们了解了标签的层次结构

  CSS

  HTML提供网页的内容和结构,而CSS提供有关网页样式的信息。没有CSS,网页将变得非常简单。这是一个没有CSS的简单HTML文档,演示如下

  当我们说风格时,我们指的是各种各样的东西。样式可以指特定HTML元素的颜色或其位置。与HTML一样,CSS材料的范围如此之大,以至于我们无法涵盖该语言中所有可能的概念。如果你感兴趣,你可以在这里了解更多

  在我们需要学习这两个概念之前,我们将深入了解大数据分析语言的网络抓取代码类和IDs

  首先,让我们谈谈课堂。如果我们想创建一个网站,我们通常希望网站的类似元素看起来相同。例如,我们可能希望列表中的许多项目以相同颜色的红色显示

  我们可以直接将一些收录颜色信息的CSS插入文本HTML标记的每一行,例如:

  

  文章指出,我们正在尝试应用CSS标记。在引号中,我们看到一个键值对“colo大数据分析R语言:大数据分析R语言ed”。Colo大数据分析R语言指示器记录文本的颜色,红色表示应该是颜色

  但是正如我们上面看到的,我们已经多次重复这个键值对。这并不理想——如果我们想改变文本的颜色,我们必须一行一行地改变每一行

  我们不必在所有这些标记中重复此文本,而可以将其替换为类选择器:

  

  我们可以更好地显示这些标记在某种程度上是相关的。在单独的CSS文件中,我们可以创建一个红色文本类,并通过编写以下内容来定义其外观:

  

  将这两个元素组合到一个网页中将具有与第一组红色标记相同的效果,但它使我们更容易进行快速更改

  当然,在本教程中,我们对网页爬行感兴趣,而不是构建网页。然而,当我们进行web爬行时,通常需要选择特定类别的HTML标记,因此我们需要了解CSS类的工作原理

  类似地,我们可能经常希望获取由ID标识的特定数据。CSS ID用于为单个元素提供可识别的名称,就像类帮助定义元素类一样

  

  如果ID附加到HTML标记上,那么在使用big data analysis R语言执行实际网页捕获时,我们可以更容易地识别标记

  如果您对类和ID不太了解,请不要担心,当我们开始编写代码时,它会变得更加清晰

  有几个大数据分析R语言库设计用于使用HTML和CSS,并能够遍历它们以找到特定的标记。我们将在本教程中使用的库是大数据分析R语言vest

  大数据分析R语言库

  大数据分析R语言vest库由传奇人物哈德利·威克姆(Hadley Wickham)维护,用户可以轻松地从网页中获取(“收获”)数据

  Big data analysis R language vest是tidyve Big data analysis R language se库之一,因此它可以很好地与捆绑包中的其他库配合使用。大数据分析R语言背心的灵感来自python的网络捕获库beautifulsoup。(相关内容:o您美丽的汤Python教程。)

  用大数据分析语言抓取网页

  为了使用大数据分析R语言vest库,我们首先需要安装它并使用Lib big data analysis R language a big data analysis R language y()函数导入它

  

  要开始解析网页,我们首先需要从收录网页的计算机服务器请求数据。为了重振雄风,大数据分析R语言ead提供了这个功能HTML()函数

  大数据分析R语言EAD_uHTML()接受web u大数据分析R语言L作为参数。让我们从上一个简单的CSS免费页面开始,看看这个函数是如何工作的

  简单的

  大数据分析R语言EAD_uhtml()函数返回一个收录我们前面讨论过的树结构的列表对象

  

  假设我们希望将单个标签中收录的文本存储在变量中。要访问此文本,我们需要找出如何定位此特定文本。这通常是CSS类和ID可以帮助我们的地方,因为优秀的开发人员通常在网站上非常明确地使用CSS@

  在本例中,我们没有这样的CSS,但我们知道要访问的标记是页面上唯一的标记。为了捕获文本,我们需要分别使用HTML_uNodes()和HTML_text()函数来搜索

  标记并检索文本。以下代码执行此操作:

  

  这个简单变量已经收录我们想要获取的HTML,所以剩下的任务是搜索所需的元素。因为我们使用tidyve big data来分析R语言se,所以我们可以将HTML传递给不同的函数

  我们需要在nodes()函数中将特定的HTML标记或CSS类传递给HTML。我们需要标记,所以我们将字符“P”传递给函数。html_u0;Nodes()还返回一个列表,但它返回html中具有给定特定html标记或CSS类/标识的所有节点。节点是指树结构中的一个点

  一旦拥有所有这些节点,就可以在text()函数中将输出传递到HTML_uu节点()到HTML_uu。我们需要获取标签的实际文本,因此此功能可以帮助您解决此问题

  这些功能共同构成了许多常见的web爬行任务。一般来说,使用大数据分析R语言(或任何其他语言)的网络爬网可以概括为以下三个步骤:

  a。获取要获取的网页的HTML

  b。确定pa的哪个部分

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线