首页 > 解决方案 > 如何在 R 中使用“显示更多”属性从网站上抓取文本?

问题描述

你好堆栈溢出社区,

有一个包含财务数据的网站 Investing.com,它提供了某些经济变量的数据点和预测。

对于更感兴趣的人,我想抓取的信息的确切 URL 在这里

我的目标是收集这些信息;但是,显示信息的表格最后包含“显示更多”属性。当我单击它时,一次会出现六个新元素。我正在寻找一种方法,可以一次展开五十个或更多元素,然后在 R 中刮取它们。

我知道如何从网站上抓取文本,但我不知道如何解决“显示更多”属性。

我曾尝试修改网站的 Java 代码,但未成功。我对Java的了解还很有限。

感谢您的时间!

标签: r

解决方案


我想这就是你想要的。

library(rvest)

url <- "https://www.investing.com/economic-calendar/eia-crude-oil-inventories-75"

page <- read_html(url)
nodes <- html_nodes(page, "table") # you can use Selectorgadget to identify the node
table <- html_table(nodes[[1]]) # each element of the nodes list is one table that can be extracted
head(table)

结果:

  Release Date  Time  Actual Forecast Previous   
1 Dec 27, 2019 11:00 -5.474M  -1.724M  -1.085M NA
2 Dec 18, 2019 10:30 -1.085M  -1.288M   0.822M NA
3 Dec 11, 2019 10:30  0.822M  -2.763M  -4.856M NA
4 Dec 04, 2019 10:30 -4.856M  -1.734M   1.572M NA
5 Nov 27, 2019 10:30  1.572M  -0.418M   1.379M NA
6 Nov 20, 2019 10:30  1.379M   1.543M   2.219M NA

推荐阅读