rvest + 选择器小工具 return 空列表

rvest + selector gadget return empty list

我正在尝试从维基百科表格中抓取政治背书数据(一个非常通用的抓取任务),但在选择器小工具识别的 css 路径上使用 rvest 的常规过程失败了。

维基页面是 here, and the css path .jquery-tablesorter:nth-child(11) td seems to select the right part of the page

有了css,我一般只会用rvest直接访问这些数据,如下:

"https://en.wikipedia.org/wiki/Endorsements_for_the_Republican_Party_presidential_primaries,_2012" %>% 
   html %>% 
   html_nodes(".jquery-tablesorter:nth-child(11) td")

但是这个returns:

list()
attr(,"class")
[1] "XMLNodeSet"

你有什么想法吗?

这可能有帮助:

library(rvest)
URL <- "https://en.wikipedia.org/wiki/Endorsements_for_the_Republican_Party_presidential_primaries,_2012" 
tab <- URL %>% read_html %>%  
            html_node("table.wikitable:nth-child(11)") %>% html_table()

此代码将您请求的 table 作为数据帧存储在变量 tab 中。

> View(tab)

我发现如果我使用 Chrome 中的 xpath 建议,它会起作用。

Chrome 建议使用 //*[@id="mw-content-text"]/table[4]

的 xpath

然后我可以运行如下

library(rvest)

    URL <-"https://en.wikipedia.org/wiki/Endorsements_for_the_Republican_Party_presidential_primaries,_2012" 
    tab <- URL %>% 
      read_html %>%  
      html_node(xpath='//*[@id="mw-content-text"]/table[4]') %>% 
      html_table()