2014年2月10日月曜日

R-3.0.2でtwitter解析

・twitteRパッケージをR-3.0.2にインストールしてOauth認証を設定してみました。
- > twitteRのリファレンス通りにはいかなかったのでメモしておきます。

#前提
HW:Panasonic Let's note CF-SX2 CPU:Core i5 2.5GHz メモリ:8GB
OS:windows7 64bit + R-3.0.2

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Japanese_Japan.932  LC_CTYPE=Japanese_Japan.932  
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C                 
[5] LC_TIME=Japanese_Japan.932   

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base 

-> OS及びRのインストールについては割愛します。

#twitteRパッケージをダウンロードする
install.packages("twitteR")

tsukubaからダウンロードしました。

#ライブラリを読み込む
library(twitteR)

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Japanese_Japan.932  LC_CTYPE=Japanese_Japan.932  
[3] LC_MONETARY=Japanese_Japan.932 LC_NUMERIC=C                 
[5] LC_TIME=Japanese_Japan.932   

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base    

other attached packages:
[1] twitteR_1.1.7  rjson_0.2.13   ROAuth_0.9.3   digest_0.6.4   RCurl_1.95-4.1
[6] bitops_1.0-6 

色々付随してパッケージが増えます。

# SSLの認証をするため(HTTPSのプロトコル経由で操作)pemファイルをダウンロードしておきます
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")

#twitterのOauth認証キーを取得する方法
Twitterにアプリケーションを登録し、consumerKeyとconsumerSecretを取得しておきます。

WEB系ですが下記が見やすいかと。
http://techbooster.org/android/mashup/4525/

#Oauth認証開始
> reqURL <- api.twitter.com="" br="" https:="" oauth="" request_token="">accessURL <- access_token="" api.twitter.com="" br="" https:="" oauth="">authURL <- api.twitter.com="" authorize="" br="" https:="" oauth="">consumerKey <- br="">consumerSecret <- br="">twitCred <- consumerkey="consumerKey,<br" new="" oauthfactory="">consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)

#セッション開始
> twitCred$handshake(cainfo="cacert.pem")

下記のような画面がでます。




-> oauth_verifierの値の入力待ちの状態のため、このURLをブラウザでたたくと、トークンが取得できます。



- > こうなります。 塗りつぶし箇所に数字の認証番号が表示されます。

- >Rのコンソール上では「連携アプリを認証」を押した時点で下記のように出ます。



- >枠の中にPINコードを入力することでOauth認証が完了します。

# 認証情報をTwitterに登録する

> registerTwitterOAuth(twitCred)

- >  [1] TRUE
と返ってくればOKです。


認証情報を保存する方法
- >認証情報を保存しておかないと都度都度認証が必要になる。

#認証情報の保存
save(twitCred, file="new authentication.Rdata")

- > Rdataファイル名は任意

#次にtwitteRを使用する時
> load("new authentication.Rdata")
> registerTwitterOAuth(twitCred)