麻烦使用Rvest进行抓取

时间:2017-03-19 03:59:34

标签: r web-scraping screen-scraping rvest

我正在尝试做一些事情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()

显然一些事情必须有所不同,但我不知道它是什么。我尝试使用Selector的xpath而不是相同的结果。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

所以,我发现了答案。显然,第二个表嵌套在注释output of my code

如果有人遇到这种情况,固定代码如下:

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