見出し画像

ツイートデータを分析してみたいという意見があったのでツイートを収集するWEBアプリを作ってみた話

ツイートデータをどうやって集めるか

これまでnote.comで,サザエさんの炎上がなかった話とか星野源のお家で踊ろうの話とか,色々なツイート分析ネタを書いてきましたが,ツイートの収集ってどうやるの?という質問を何回か受けました.

Twitterのデータを集めるのって結構大変なんですよね.もちろん,一応こちらもTwitter分析を専門としているのでAPIを使い倒してデータを収集しているわけですが,これが誰にでもできることでもないとは思います.ある程度以上のデータになると,自分では集めきれなくてデータ収集のプロな共同研究者に頼んだりもします.

そもそも収集には,APIの使い方が分かっていなければいけないし,Twitterはルールをちょいちょいマイナーチェンジするしで,普通にTwitterデータを集めようとすると,結構大変なわけです.でも,社会学系の研究者の方とかにもデータが欲しいという方は結構いらっしゃいます.

といわけで,2014年12月にブラウザ上からツイートデータを集めるWeb Tweet Crawlerというサイトを作っていました.2019年7月までに160万件くらいのデータ収集があったみたいです.

が,昨年の7月29日にTwitterが(また)仕様を変更したことによって利用できなくなり,対処がなかなか難しかったため放置していたのですが,コロナ禍で在宅勤務だし(理由になってない),note.comでブログを公開してその反応を見る限りツイートデータを使った分析に興味を持っている方も結構いるみたいだったので(ほんまかいな),週末に頑張ってプログラミングして,1年ぶりにWeb Tweet Crawlerを復活させてみました.

Web Tweet Crawlerによるツイート収集

Web Twet Crawlerは以下のサイトにあります.

使い方は,まず左上の「Start Web Tweet Crawler」をクリック.Twitterにログインしたら,出てきたフォームに取得したいキーワードを入れて「WordSearch」をクリックするだけ.

画像1

Twitterを検索してキーワードを含むツイートを100件ほど収集して,CSVファイルとしてダウンロードしてくれます.

100件以上取りたい場合は,MAX POWERをクリックして取りたいツイート数までバーを移動させれば限界まで取りに行きます.

とはいえ,Twitterの制限で,通常は一週間前までの180000件までしかツイートを取得できませんので,悪しからず.

もちろん,鍵垢のツイートも取れませんし(フレンドのなら取れるかも)すでに消されたツイートも取れません.

ダウンロードするファイルはCSVファイルですので,Excelでも見れますが,デフォルトではUTF-8で取得するので文字化けします.Excelで見たい方はSHIFT-JISを選択してください.Windowsならこれで見られるはず.Macは知らん.あと,Excelで見るとリプライツイートは変な風に表示されることがあるのでそれも悪しからず.

指定ユーザのツイート収集

特定のアカウントのツイートをさかのぼってみたい場合は,スクリーン名をフォームに入れて「UserSearch」をクリックすると200件,MAX POWERを使うと3200件くらい取得できます.ユーザのツイートの場合は時間制限はないみたいなので,自分のアカウントで検索すると去年くらいの恥ずかしいツイートが出てきたりしてウヒョウヒョできます.

詳細設定

Without Retweet:リツイートを除いてでツイートを収集します.
MAX POWER:可能な限りツイートを収集します.
SHIFT-JIS:ShiftJISで取得します.Excel用.
No Line Feed:改行を消します.

終わりに

このアプリは基本的に自由に使っていただいていいですが,得られたデータについては一切責任を取りませんし,当該データを使って生じた不都合についても責任を取れませんので,ご利用の際にはご注意下さい.

基本的には研究用途を想定していますが,野良のデータサイエンティストの方が自由にデータを分析するのに使っていただいてもいいかなと思います.
趣味で使ってもいいんじゃないですかね.どんな趣味で使えるのかわからないですが.

どうでもいいけど,週末に久々にもりもりプログラミングして楽しかった.プログラミングは楽しいなあ.

もし自分でこういうWEBアプリを作りたいという人がいた場合の参考情報として書いておくと,今回のWEBアプリはPython3とpython-twitter,sqliteを使って作っています.
もともとPythonの勉強がてら作ったものだったけど,Pythonの文字列操作は本気でわけわからんので,素直にrubyで作りなおせばよかったと後悔はしてる.

あ,もしこれを使って何か新しいことを発見した人がいたら,ぜひ教えてください.ツイート分析するたびに「やってみたい」という人が一定数いたので,きっとその人たちは使ってくれるに違いない!わくわく.もうこれで,根性マイニングやらないで済むんだ!(多分済まない)
ちなみに,研究者の方が利用した場合は論文などで収集方法として書いてもらえると嬉しいです.


この記事が気に入ったらサポートをしてみませんか?