TwitteRでツイート取得
英Fkourishが提供する可視化ASPサービス「Flourish」に、「Word Cloud」のテンプレートがあることを知りました。
表形式のデータを渡すだけでなく、テキストデータをコピペすることでWord Cloudを作ることもできるそうなので、試してみました。
下記はFlourishで見られるサンプルです。
右パネルにあるテキストからWord Cloudを作っています。
ただ、日本語には対応していません。
US(米国)のツイートを取得して試してみます。
R言語で「TwitterR」を使い取得します。
キーワードは「#DemonSlayer」。
英語圏では「鬼滅の刃」をこう呼ぶそうです。
##認証情報セット
sumerKey <- "**********"
consumerSecret <- "**********"
accessToken <- "**********"
accessSecret <- "**********"
##処理の準備
library("twitteR")
#httr_oauth_chcheを保存
options(httr_oauth_cache = TRUE)
#認証申請
setup_twitter_oauth(consumerKey, consumerSecret, accessToken, accessSecret)
#ツイート取得。キーワード「#DemonSlayer」。最大10000ツイート取得。英語圏で地域はUS指定
tweets2 <- searchTwitter(
'#DemonSlayer', n = 10000, since = "2021-12-05" , lang="en" , locale="us")
#データフレーム に変換
tweetsdf2 <- twListToDF(tweets2)
tweetsdf2$text %>% head() #確認
#リツイートは扱わない
library(dplyr) #
library(stringr) #
library(magrittr) #
library(readr) #
#リツイートかどうかを確認
table(tweetsdf2$isRetweet)
FALSE TRUE
1920 8080
#リツイートを外す
tweetsdf3 <- tweetsdf2 %>% filter(isRetweet %in% c("FALSE"))
table(tweetsdf3$isRetweet)
nrow(tweetsdf3) #取得できているか確認
[1] 1920
#CSVに書き出す
write_csv(tweetsdf3$isRetweet, "tweetsdf3.csv")
FlourishでWord Cloud操作
書き出したCSVからTEXT列のみコピーし、Flourishのテキストエリアにペーストします。
※ペーストする前に、キーワードに使った「#DemonSlayer」の出現回数が突出しているのでを除外(Exclude)設定しておきます(デフォルトで複数設定されています)。
※他のワードが小さくなりすぎ識別できないため。
※ペーストした後で除外キーワードに「#DemonSlayer」を設定するとワードの大きさの調節がうまくいかなかったので、先に設定しておきます。
Wordの上位200にしました(デフォルトで250)。
この他にも不要そうなワードをいくつか追加しました。
出来上がったWord Cloudです。
Wordの上位だけでなく中間の範囲もの設定もできたり、出現回数を確認できたりしたらいいと思ったのですが、その機能はないようです。
ブラウザの検索機能を使って、出現Wordを確認してみました。
「Akaza」を検索。
「Tanjiro」を検索。
「Uzui」を検索。
次はRで取得する際に、もう少しフィルタリングしてからFlourishに持って行っこうと思います。
了