【问题标题】:Scraping table from web link从网络链接刮表
【发布时间】:2018-05-06 11:55:40
【问题描述】:

我想从Here 中提取 Holdings 表 我有以下代码:

 library(rvest)

 turl = 'https://whalewisdom.com/stock/spy'
 test_html = read_html(turl) 
 df<-html_table(test_html)

但是在运行时出现以下错误:

矩阵中的错误(NA_character_,nrow = n,ncol = maxp):无效 'ncol' 值(太大或 NA)另外:警告消息:1:在 max(p) : max 没有非缺失参数;返回-Inf 2:在 matrix(NA_character_, nrow = n, ncol = maxp) : NAs 由 强制转换为整数范围

【问题讨论】:

  • 我不确定这是否是整个问题,但该表似乎在页面加载后由 AJAX 调用异步填充。我没有在浏览器的“查看源代码”中看到表的数据,也没有在 read_html 返回的数据中看到。我不确定是否有用于抓取异步加载的网页的 R 解决方案,但也许其他人知道。非 R 解决方案可能是 headless browsers
  • 谢谢。这也是我的担心。我找不到源代码中嵌入的表格页面的链接,所以想知道从哪里调用数据。

标签: r web-scraping html-table rvest


【解决方案1】:

您好,我遇到了同样的情况,通过搜索我在R Studio Community找到了一个解决方案

我希望这对你也有帮助。

【讨论】:

  • 最好直接在 SO 上发布解决方案。一个简单的链接是不够的。
【解决方案2】:

感兴趣的表的索引或简单地获取适当的表节点并使用 fill=True 然后对内容进行一些整理

library(rvest)
library(magrittr)

t <- (read_html('https://whalewisdom.com/stock/spy') %>%
          html_node('form + .table') %>%
          html_table(fill=T))

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2021-09-07
    • 1970-01-01
    相关资源
    最近更新 更多