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