2017-03-19 117 views
1

我试图做一些事情very similar to this question.故障使用Rvest刮

不过,我需要一个稍微不同的表。听起来很简单,对吧?但是我遇到了一个奇怪的例子,“相同的代码在两种情况下似乎工作方式不同”。这是一个简单的测试例子。

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

Error in UseMethod("html_table") : no applicable method for 'html_table' >applied to an object of class "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来选择而不是相同的结果。有任何想法吗?

回答

0

所以,我发现了答案。显然,第二表嵌套评论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()