Rと解析:twitterの情報を取得「twitterreport」パッケージ

Rの解析に役に立つ記事

twitterの情報を取得するパッケージとして「twitterR」パッケージが有名ですが、たまには別なパッケージを利用してみてはいかがでしょうか。

twitter APIを利用する手順は以下の記事を参考にしてください。
・RでTwitter操作:「twitterR」パッケージ!バージョン1.1.9の紹介
 https://www.karada-good.net/analyticsr/r-170/

紹介パッケージのgithubページでは取得データの図式化が紹介されていますが、twitterのAPIが変更されたのか、一部データがNAとなり再現できません。今後のバージョンアップが楽しみなパッケージです。

・twitterreport
 https://github.com/gvegayon/twitterreport

パッケージバージョンは0.15.9000。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク
スポンサーリンク

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
devtools::install_github("gvegayon/twitterreport")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("twitterreport")

#ツイッターアカウント名の設定
#自身のアカウント以外も情報を取得することができます
users <- c("KaradaGood")

#トークンの取得
#https://dev.twitter.com/下部のManage Your Appsから情報を取得
#アプリ名を設定
appname <- "アプリ名を入力"
#Consumer Key (API Key)を設定
key <- "Consumer Key (API Key)を入力"
#Consumer Secret (API Secret)を設定
secret <- "Consumer Secret (API Secret)を入力"
#トークンを取得
key <- tw_gen_token(appname, key, secret)
#処理が終了するとコンソールに下記内容が表示
Waiting for authentication in browser...
Press Esc/Ctrl + C to abort
Authentication complete.

#アカウントの性別を取得:tw_genderコマンド
tw_gender(users)
[1] unidentified
Levels: unidentified female male

#URLからアカウント名を取得:tw_get_tw_accountコマンド
tw_get_tw_account("http://karada-good.net")
[1] "karadagood"

#アカウントの情報を取得:tw_api_get_users_showコマンド
UserData <- tw_api_get_users_show("karadagood", twitter_token = key)

#アカウントのフォロワーを取得:tw_api_get_followers_listコマンド
#アカウントが複数を想定してlapplyコマンドを使用
FollowersList <- lapply(users, tw_api_get_followers_list, twitter_token = key)
#data.frame化
FLData <- do.call(rbind, FollowersList)

#アカウントのタイムラインを取得:tw_api_get_statuses_user_timelineコマンド
#アカウントが複数を想定してlapplyコマンドを使用
TimeLineList <- lapply(users, tw_api_get_statuses_user_timeline, twitter_token = key)
#data.frame化
TLData <- do.call(rbind, TimeLineList)

#つぶやきをキーワードで検索
SearchResult <- tw_api_get_search_tweets(q = "ねんどろいど", twitter_token = key)
#つぶやき内容を確認
head(SearchResult$text)
[1] "受注締切間近ぐま!:「ねんどろいど 薬研藤四郎」のご予約受付は来年1月6日(水)21時まで!GSCオンラインでは「ラバーストラップ 薬研藤四郎 よお大将Ver.」が付属! https://t.co/FRE3Y4duBI https://t.co/3fguVw40q4"                                
[2] "受注締切間近ぐま!:「ねんどろいど 矢澤にこ 練習着Ver.」のご予約受付は来年1月6日(水)21時まで!GSCオンラインでは「特製背景紙(夜空)、特別仕様台座\n」が付属! https://t.co/fuweHJIcmu https://t.co/QLD0lfZSdn"                               
[3] "受注締切間近ぐま!:「ねんどろいど 西谷夕」のご予約受付は来年1月6日(水)21時まで!GSCオンラインでは「ラバーストラップ 西谷夕 笑顔の守護神Ver.」が付属! https://t.co/FV9zWlGEuV https://t.co/aPOxB3stUg"                                    
[4] "西住 みほ ねんどろいど 改造 完成品 ワンフェス\n現在の価格30,000 円\n現在の入札人数0人\n詳しくはコチラ⇒https://t.co/sx9RmuPJpt https://t.co/aaxuePvdJI"                                                                                    
[5] "RT @kurosev: 新しいグッズや限定商品も沢山用意しておりますので、是非足をお運びください。ねんどろいどグッズは全国の文教堂アニメガさんでお買い求め頂けます!今日行かれる方はイベント楽しんできてください\nhttps://t.co/xagFGsrohL https://t…"
[6] "今日のねんどろいど https://t.co/heDgHF2dOS"  

#昨日のつぶやきをリツイートしてくれたアカウントを例にネットワーク図で表示
users <- c("R_beginner", "KaradaGood", "TaKonyX")
TimeLineList <- lapply(users, tw_api_get_statuses_user_timeline, twitter_token = key)
FLData <- do.call(rbind, TimeLineList)
#データの処理
TweetCount <- tw_extract(FLData$text)
graph <- tw_network(FLData$screen_name, TweetCount$url, min.interact = 0)
plot(graph)

ネットワーク図で表示

昨日のつぶやきをリツイートしてくれたアカウントを例にしています。


少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました