我正在尝试从此网站的左侧SumoMe插件下载共享计数http://www.r-bloggers.com/erum-2016-first-european-conference-for-the-programming-language-r/
我尝试使用基于rvest
包
> library(rvest)
Loading required package: xml2
> url <- 'http://www.r-bloggers.com/erum-2016-first-european-conference-for-the-programming-language-r/'
> read_html(url) %>%
+ html_nodes('.wpusb-counts span')
{xml_nodeset (1)}
[1] <span data-element="total-share"></span>
但收到了空洞的回应。 该页面看起来像是以0分享计数开始,然后在您在该网站上花费时间后几秒钟后更新。有人可以建议任何可能的解决方案或建议任何包? RSelenium是一个很好的包装吗?我以前没用过它。
答案 0 :(得分:2)
看起来这个值是由javascript异步加载所以是的,RSelenium可能是你最好的选择。我最终使用Firebug中的xpath选择器将该参数传递给browser$findElement
library(RSelenium)
browser <- remoteDriver()
browser$open()
browser$navigate('http://www.r-bloggers.com/erum-2016-first-european-conference-for-the-programming-language-r/')
value <- browser$findElement(using = 'xpath', '/html/body/div[5]/div/div[1]/div/span')
print(value$getElementText())
[[1]]
[1] "7"