我正试图从维基百科表中搜集政治认可数据(一个非常通用的抓取任务),并且在选择器小工具识别的css路径上使用rvest
的常规过程失败。
维基页面为here,而css路径.jquery-tablesorter:nth-child(11) td
似乎选择了页面的右侧部分
使用css,我通常会使用rvest
直接访问这些数据,如下所示:
"https://en.wikipedia.org/wiki/Endorsements_for_the_Republican_Party_presidential_primaries,_2012" %>%
html %>%
html_nodes(".jquery-tablesorter:nth-child(11) td")
但这会返回:
list()
attr(,"class")
[1] "XMLNodeSet"
你有什么想法吗?
答案 0 :(得分:3)
这可能会有所帮助:
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()
此代码将您在数据框中请求的表存储在变量tab
。
> View(tab)
答案 1 :(得分:1)
我发现如果我使用Chrome提供的xpath建议,那就可以了。
Chrome建议使用//Page transition
.pageTransition-enter {
opacity: 0.01;
}
.pageTransition-enter.pageTransition-enter-active {
animation: fadeIn 1s ease-in;
}
.animation-leave {
opacity: 1;
}
.pageTransition-leave.pageTransition-leave-active {
animation: fadeIn 3s ease-in;
}
.pageTransition-appear {
opacity: 0.01;
}
.pageTransition-appear.pageTransition-appear-active {
animation: opacity 5s ease-in;
}
然后我可以运行如下
//*[@id="mw-content-text"]/table[4]