从JSON中提取R数据的网络爬虫 您所在的位置:网站首页 从网站爬数据 从JSON中提取R数据的网络爬虫

从JSON中提取R数据的网络爬虫

2023-02-28 01:53| 来源: 网络整理| 查看: 265

从JSON中提取R数据的网络爬虫

许多网站以JSON格式提供他们的数据,以供使用。JSON(JavaScript Object Notation)是一种基于JavaScript对象语法的文本格式,用于表示结构化数据。在这篇文章中,我们将看到如何从JSON网络源中提取数据并在R编程语言中使用它。

从JSON中刮取网络数据

我们将刮取这里提供的关于COVID案例的JSON数据,它看起来像这样。

从JSON中提取R数据的网络爬虫

原始JSON数据

为了在R中获得这些数据,我们需要一个叫做 jsonlite的 库 。 这个库并没有预装在R中,所以要安装它。也有必要在脚本中包含它。

# installing the library install.packages("jsonlite")    # include it library(jsonlite)

现在我们已经加载了这个库,我们可以使用 fromJSON 函数来解析数据。将上面给出的关于COVID数据的相同URL传递给该函数,其中 原始数据 是一个包含信息的大列表。

# scraping the JSON data to R rawdata right click on the element > click Copy full XPath.

首先,我们需要安装 rvest 包,这是一个用于搜刮网页的库。

install.packages('rvest')

因此,假设我们有兴趣在trainman.in上搜刮这个URL上的14553号列车的时刻表。

https://www.trainman.in/train/14553

然后在检查中选择时间表中的第一行元素。

从JSON中提取R数据的网络爬虫

为演示目的而刮取的示范性网站

继续并复制上面提到的XPath。它将是这样的,也可能会改变。

/html/body/app-root/app-wrapper/div/main/train-schedule /div[2]/div[1]/div/div[3]/table/tbody/tr[1]

从JSON中提取R数据的网络爬虫

选择复制以填充XPath选项,以获得菜单

我们得到的XPath只针对一行。那其他的行呢?为此,从 tr [2]中删除下标部分。

/html/body/app-root/app-wrapper/div/main/train-schedule /div[2]/div[1]/div/div[3]/table/tbody/tr

所以现在它不仅给出了一条记录,而且给出了表中的所有记录。要在R中刮取这些数据,需要调用URL,并存储它。现在通过调用 read_html(URL) 获得HTML数据 。 现在要过滤出特定的元素,使用 html_nodes() 传递页面和XPath 。并使用 **% >% html_text() **来只获得不包括标签和细节的文本部分。

# include the installed library rvest library(rvest)    # call the url url


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有