*RでTwitterからデータをとってくる **参考 http://cran.r-project.org/web/packages/twitteR/vignettes/twitteR.pdf **http://www.atmarkit.co.jp/fcoding/articles/stat/05/stat05a.html その後Twitterの認証方法が変更になったため、使えない部分が多いので参考までに。 *まずインストール    一度すればok *Rのバージョンが12.0以上でなければだめなので、そうでない場合にはRを再インストール install.packages("twitteR") install.packages("RJSONIO") install.packages("RCurl") *処理方法 library(twitteR) ??twitteR #ヘルプファイル #ユーザー情報 情報をとってくるユーザー名を与える。ここでは孫正義氏 user_name<-"masason" (user<-getUser(user_name)) #以下、表示 user$screenName user$id user$lastStatus user$description user$statusesCount #: Number of status updates this user has had user$followersCount #: Number of followers for this user user$favoritesCount #: Number of favorites for this user user$friendsCount #: Number of followees for this user user$url #: A URL associated with this user user$created #: When this user was created user$protected #: Whether or not this user is protected user$verified #: Whether or not this user is verified user$location #: Location of the user **練習 自分の興味のある人のユーザー名(titter)を入力して上記を実行してみる。 #特定のユーザーのタイムラインを取得 user_name userTL<-userTimeline(user_name,lang="ja", locale="ja", n = 150) #言語langは日本語 ja 文字コードも jaを指定。しかし文字化け。これは調査中。 #nが取得するメッセージ数  すべて取得できるかは不明 length(userTL) #取得したメッセージ数 userTL[1:10] #1-10までを出力   # それぞれのメッセージから必要な情報を抽出 userTL[[1]]$id userTL[[1]]$screenName userTL[[1]]$getText() userTL[[1]]$getCreated() #扱いやすい形のデータフレームにする userMessage<-data.frame( userTL[[1]]$id, userTL[[1]]$screenName, userTL[[1]]$getCreated(), userTL[[1]]$getText() ) names(userMessage)<-c("mid","screenName","pdate","message") for(i in seq(2,length(userTL))) { d<-data.frame( userTL[[i]]$id, userTL[[i]]$screenName, userTL[[i]]$getCreated(), userTL[[i]]$getText() ) names(d)<-c("mid","screenName","pdate","message") userMessage<-rbind(userMessage,d) } #library(chron) #dates(userMessage$pdate) userMessage #このような感じにまとめられた save(userMessage,file="0userMessage.rda") #保存しておく table(substr(userMessage$pdate,1,10)) table(userMessage$screenName) *練習  興味のある人のツイートをダウンロードしてみる nも変更してみてどうなるか? 300や1000ぐらいにするとどうなるか? #メッセージ検索 smessage<-"慶応" #検索する言葉 (sText <- searchTwitter(smessage, n = 100,lang="ja", locale="ja")) #100 メッセージを検索   100よりも多いとエラーになるようだが未確認 length(sText) #取得したメッセージ数 sText[1:10] #1-10までを出力   # それぞれのメッセージから必要な情報を抽出 sText[[1]]$id sText[[1]]$screenName sText[[1]]$getText() sText[[1]]$getCreated() #扱いやすい形のデータフレームにする sMessage<-data.frame( sText[[1]]$id, sText[[1]]$screenName, sText[[1]]$getCreated(), sText[[1]]$getText() ) names(sMessage)<-c("mid","screenName","pdate","message") for(i in seq(2,length(sText))) { d<-data.frame( sText[[i]]$id, sText[[i]]$screenName, sText[[i]]$getCreated(), sText[[i]]$getText() ) names(d)<-c("mid","screenName","pdate","message") sMessage<-rbind(sMessage,d) } save(sMessage,file="0sMessage.rda") #保存しておく sMessage table(substr(sMessage$pdate,1,10)) table(sMessage$screenName) *練習  興味のある検索語を指定してダウンロードしてみる。検索語やnも変更してみてどうなるか? 300や1000ぐらいにするとどうなるか? **検索語に RT を追加すると その語を含むRTがとれるようなので、これをうまく使えば、アカウント間の関係を把握できそう。その他、ツイッターの検索のオプションを指定してみてください。 **参考)マニュアルによると下のように開始、終了日を指定できるはずだが、うまくいかない感じ。nやlangなどの与え方によってはとれるかもしれないので、いろいろトライしてみてください。 (sText2 <- searchTwitter(smessage, n = 30,lang="ja", locale="ja",since="2011-05-01", until="2011-06-02")) (sText2 <- searchTwitter(smessage,since="2011-05-01", until="2011-06-02")) (sText2 <- searchTwitter(smessage,since="2011-05-21", until="2011-06-07")) **全体的に今回のプロジェクトでこのデータを使えそうか否かを考察。