【问题标题】:Rvest returns empty tableRvest 返回空表
【发布时间】:2018-06-04 19:52:49
【问题描述】:

我正在尝试在这个网站上抓取表格:http://fluxnet.fluxdata.org/sites/site-list-and-pages/?view=table,使用以下代码:

library(rvest) url <- "http://fluxnet.fluxdata.org/sites/site-list-and-pages/?view=table"

tbl <- url %>%
       read_html() %>%
       html_nodes(xpath='//*[@id="siteTable"]') %>%
       html_table()

但是返回的表只有表头,没有数据。

我错过了什么?

【问题讨论】:

  • 您可能必须使用某些工具来加载页面,例如phantomjs。
  • 其实,如果我打开链接,我看到的只是表头,没有数据,所以可能是网站的问题
  • @giocomai 这很奇怪,因为我刚刚尝试在三个不同的浏览器中打开 URL(在匿名模式下以确保没有加载任何 cookie),并且打开正常。
  • 哦,现在可以了。所以如果只是这个页面,一旦加载完毕,就可以从浏览器本地保存html文件。然后运行命令,而不是 URL,而是指向硬盘驱动器上文件的位置。它应该可以工作。
  • @giocomai,这是一个非常好的主意,而且奏效了!您想将其发布为答案以便我接受吗?

标签: r web-scraping rvest


【解决方案1】:

如果只是针对单个页面,最简单的解决方案是在浏览器中打开该页面,并将其保存为本地硬盘上的 html 文件。

然后,您可以运行上述代码行,指向硬盘驱动器上文件的位置,而不是远程 URL。它应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    相关资源
    最近更新 更多