【问题标题】:Extracting data from class = "section wrapper" using Rvest使用 Rvest 从 class = "section wrapper" 中提取数据
【发布时间】:2020-08-30 10:15:04
【问题描述】:

我确信之前已经回答了类似的问题,但我很想了解为什么 Rvest 无法从 class= "section wrapper" 中提取数据。我正在使用 R Studio,简而言之:

anasj_103 = read_html("https://www.hockey-reference.com/boxscores/201810030SJS.html")

ana_table = anasj_103 %>%
    html_node(xpath = '//*[@id="ANA_skaters"]') %>%
    html_table()

adv_ana = anasj_103 %>%
    html_node(xpath = '//*[@id="ANA_adv"]') %>%
    html_table()

返回的错误:UseMethod("html_table") 中的错误: 没有适用于“xml_missing”类对象的“html_table”方法

使用 Xpath 时 ana_table 工作正常,但使用类似代码时 adv_ana 给出错误或不返回任何内容。我遇到了这个问题,所有数据都位于 div 部分中,然后是该类。由于我什至无法在部分包装器中返回基本文本,我相信这就是问题所在。

有什么想法或解决方法吗?

【问题讨论】:

  • 它回来注释掉了。检查 SO 上的现有答案 R , rvest,刮 cmets。
  • 没有。您感兴趣的部分以 html 注释的形式返回,因此在您尝试时无法通过解析器访问。
  • 明白 - 这是有道理的。谢谢!
  • stackoverflow.com/questions/40616357/… 几个例子。 SO上还有其他人。
  • 太棒了!感谢您在这里的帮助。在这方面还是有点新,所以这节省了我很多时间。

标签: r web-scraping rvest


【解决方案1】:

感谢 QHarr 的帮助。 上述问题已通过以下方式解决:

table = anasjs_103 %>%
    html_nodes(xpath = '//comment()') %>%
    html_text() %>%
    paste(collapse = '') %>%
    read_html() %>%
    html_node('table#ANA_adv') %>%
    html_table()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2021-12-26
    • 2019-12-08
    • 1970-01-01
    • 2023-03-16
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多