从雅虎财经拉取主要指数
Pull Major Indices from Yahoo Finance
我想从雅虎财经 (this) 中提取主要世界指数 Table。
我尝试了以下方法,但没有成功:
library(rvest)
yahoo_windizes <- "https://finance.yahoo.com/world-indices/"
read_html(yahoo_windizes) %>%
html_nodes("table") %>%
html_table()
或使用 htmltab
-库:
library(htmltab)
yahoo_windizes %>%
htmltab(which = 1)
我似乎无法让它工作。非常感谢您的帮助!
最后 3 个可见列是 canvas 个元素。虽然可以获取这些值,但从其他地方提取它们并将它们分配给您的数据对象可能更容易。
同时,如果您只需要前 6 列,可以通过多种方式重新构建 table,例如通过矩阵:
library(rvest)
library(magrittr)
library(purrr)
yahoo_windizes <- "https://finance.yahoo.com/world-indices/"
table <- read_html(yahoo_windizes) %>%
html_node("#list-res-table table")
data <- map(1:6, function(x){ table %>% html_nodes(sprintf('td:nth-of-type(%i)', x)) %>% html_text()})
data <- data %>% unlist() %>% matrix(nrow=length(data[[1]]) , ncol=6) %>% as.tibble()
names(data) <- c('Symbol','Name','Last Price', 'Change', '%Change', 'Volume')
我想从雅虎财经 (this) 中提取主要世界指数 Table。
我尝试了以下方法,但没有成功:
library(rvest)
yahoo_windizes <- "https://finance.yahoo.com/world-indices/"
read_html(yahoo_windizes) %>%
html_nodes("table") %>%
html_table()
或使用 htmltab
-库:
library(htmltab)
yahoo_windizes %>%
htmltab(which = 1)
我似乎无法让它工作。非常感谢您的帮助!
最后 3 个可见列是 canvas 个元素。虽然可以获取这些值,但从其他地方提取它们并将它们分配给您的数据对象可能更容易。
同时,如果您只需要前 6 列,可以通过多种方式重新构建 table,例如通过矩阵:
library(rvest)
library(magrittr)
library(purrr)
yahoo_windizes <- "https://finance.yahoo.com/world-indices/"
table <- read_html(yahoo_windizes) %>%
html_node("#list-res-table table")
data <- map(1:6, function(x){ table %>% html_nodes(sprintf('td:nth-of-type(%i)', x)) %>% html_text()})
data <- data %>% unlist() %>% matrix(nrow=length(data[[1]]) , ncol=6) %>% as.tibble()
names(data) <- c('Symbol','Name','Last Price', 'Change', '%Change', 'Volume')