Как 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"
Другие вопросы по тегам