2016-08-04 104 views
2

我需要解析vk.com中的社交遊戲的html數據(這是俄語模擬的臉書)。我試圖下載html頁面。如何使用R登錄到社交網絡

library(dplyr) 
library(RCurl) 
library(XML) 
vk_roleGamesURL <- "https://vk.com/apps?act=genre18&id=18" 
download.file(vk_roleGamesURL, 
       destfile=vkRoleLocal <- paste0("vkRoleLocal.xml")) 

下載後我打開並看到,它是開始登錄頁面,在那裏我需要輸入我的電子郵件和密碼。我怎樣才能避免這個問題?我可以通過R登錄嗎?

+0

請注意,刮搶是明確違反許多這些服務的服務條款(不知道VK)。如果你關心這件事,確保你在繼續之前閱讀它們。 –

回答

2

由於本網站需要運行正常的javascript,請執行以下操作:查看https://cran.r-project.org/web/packages/RSelenium/vignettes/RSelenium-basics.html的工作方式。

基本上它是類似如下:

1打開登錄屏幕

require(RSelenium) 
remDr <- remoteDriver(remoteServerAddr = "localhost" 
         , port = 4444 
         , browserName = "firefox" 
        ) 
remDr$open() 
remDr$navigate("https://vk.com/apps?act=genre18&id=18") 

2登錄

email <- remDr$findElement(using = "id", "email") 
pass <- remDr$findElement(using = "id", "pass") 
email$sendKeysToElement(list("YOUR EMAIL")) 
pass$sendKeysToElement(list("YOUR PASS", "\uE007")) #\uE007 is the enter key 

3做你想做的事作爲登錄的用戶是什麼

+1

unicode鍵映射到RSelenium中。它們包含在一個可變的selKeys中(請參閱?selKeys)。當你發送密鑰給元素時,你可以這樣做:'pass $ sendKeysToElement(list(「你的密碼」,key =「輸入」))' – jdharrison