トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

getTweet

  • まずインストール    一度すれば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"))
    • 全体的に今回のプロジェクトでこのデータを使えそうか否かを考察。