Как webscrape доля рассчитывает в R
Я пытаюсь загрузить подсчет общего ресурса из левого плагина SumoMe этого веб-сайта http://www.r-bloggers.com/erum-2016-first-european-conference-for-the-programming-language-r/
Я пытаюсь использовать код 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 share-count, а затем обновляется через несколько секунд после того, как вы проведете время на этом сайте. Может ли кто-нибудь предложить какое-либо возможное решение или посоветовать какой-нибудь пакет? Является ли RSelenium хорошим пакетом для этого? Я не использовал это раньше.
1 ответ
Похоже, что это значение загружается асинхронно с помощью javascript, так что да, RSelenium может быть вашим лучшим выбором. В итоге я использовал селектор xpath в Firebug для передачи этого параметра 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"