很长一段时间以来,我一直很高兴地使用从其他 stackoverflow 答案借用的代码来抓取 yahoo.finance 页面,并且效果很好,但是在过去的几周里,雅虎将其表格更改为可折叠/可展开的表格。这破坏了代码,尽管我尽了几天最大的努力,但仍无法修复该错误。
这是其他人使用多年的代码示例(然后由不同的人以不同的方式解析和处理)。
library(rvest)
library(tidyverse)
# Create a URL string
myURL <- "https://finance.yahoo.com/quote/AAPL/financials?p=AAPL"
# Create a dataframe called df to hold this income statement called df
df <- myURL %>%
read_html() %>%
html_table(header = TRUE) %>%
map_df(bind_cols) %>%
as_tibble()
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
编辑以获得更多清晰度:
如果你运行上面的命令,然后查看 df 你得到
# A tibble: 0 x 0
Run Code Online (Sandbox Code Playgroud)
对于预期结果的示例,我们可以尝试 yahoo 未更改的另一个页面,如下所示:
# Create a URL string
myURL2 <- "https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL"
df2 <- myURL2 %>%
read_html() %>%
html_table(header = FALSE) %>%
map_df(bind_cols) %>%
as_tibble()
Run Code Online (Sandbox Code Playgroud)
如果您查看 df2,您会得到两个变量的 59 …