使用RVest从网站抓取表格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用RVest从网站抓取表格相关的知识,希望对你有一定的参考价值。

我正在尝试从金库网站上刮下桌子。

https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yieldYear&year=2019

我目前正在收集数据,但

library("rvest")
url <- "https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yieldAll"

data <- url %>%
  html()

但是由于有功能,我似乎无法将其转换为表格格式。

data %>%
html_table()
答案
最好先使用CSS来找到包含表的节点。该表很大(大约7400行)。使用html_table进行渲染花费了30秒。

library("rvest") library(httr) url <- "https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yieldAll" ua <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36" data <- html_session(url,user_agent(ua)) data %>% html_node("table.t-chart") %>% html_table()

以上是关于使用RVest从网站抓取表格的主要内容,如果未能解决你的问题,请参考以下文章

通过多个页面抓取 Web 表格(缺少某些行)

使用 rvest 抓取类似名称的表

如何使用 R 在 html 中的注释标签内抓取表格?

用rvest抓取时没有数据

使用 rvest 迭代地抓取许多链接时找到标签的替代版本

R语言(XML/rvest)下载网页表格