2016-08-04 10 views
2

vk.comでソーシャルゲームのhtmlデータを解析する必要があります(Facebookのロシア語のアナログです)。私は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 doが正しく機能する必要があります。どのように動作するかについては、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

ユニコードキーはRSeleniumにマップされています。それらは変数selKeysに含まれています(「selKeys」を参照)。要素にキーを送るときには、次のようにすることができます: '$ sendKeysToElement(list(" YOUR PASS "、key =" enter "))' ' – jdharrison

関連する問題