【问题标题】:Trouble Using Rvest for scraping [duplicate]使用 Rvest 进行抓取时遇到问题 [重复]
【发布时间】:2017-08-10 12:03:42
【问题描述】:

我正在尝试做某事very similar to this question.

但是,我需要一张稍微不同的桌子。听起来很容易,对吧?但是我遇到了一个奇怪的案例,“相同的代码在两个实例中的工作方式不同”。这是一个简单的测试示例。

如果我运行下面的代码,第一个实例运行良好。第二个返回以下错误:

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

表名似乎与我在 SelectorGadget 中看到的一致。

library(rvest)
url_splits    <-"http://www.basketball-reference.com/players/i/ingrabr01/splits/"
stats_splits  <- read_html(url_splits) %>%
             html_node("table#splits") %>%
             html_table()
url_college   <-"http://www.basketball-reference.com/players/i/ingrabr01.html"
stats_college <- read_html(url_college) %>%
                 html_node("table#all_college_stats") %>%
             html_table()

显然有些东西一定是不同的,但我不知道它是什么。我尝试使用选择器的 xpath 来代替,结果相同。有什么想法吗?

【问题讨论】:

    标签: r web-scraping screen-scraping rvest


    【解决方案1】:

    所以,我找到了答案。显然第二个表嵌套在评论a la this question.

    如果有人偶然发现,固定代码如下:

    stats_college <- url %>%
                 read_html %>%
                 html_nodes(xpath = '//comment()') %>%
                 html_text() %>%
                 paste(collapse='') %>%
                 read_html() %>%
                 html_node('table#all_college_stats') %>%
                 html_table()
    

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2021-12-10
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 2019-10-11
      相关资源
      最近更新 更多