1

この Web サイトhttp://www.r-bloggers.com/erum-2016-first-european-conference-for-the-programming-language-r/の左の SumoMe プラグインからシェア カウントをダウンロードしようとしています。

rvestパッケージに基づいてRコードを使用しようとしています

> 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 から始まっているように見えますが、その Web サイトに時間を費やしてから数秒後に更新されます。誰かがそれに対する可能な解決策を提案したり、パッケージにアドバイスしたりできますか? RSeleniumはそのための良いパッケージですか? 私は前にそれを使用したことがありません。

4

1 に答える 1

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"
于 2016-07-09T04:16:45.677 に答える