見出し画像

【データの集め方講座】Twitterデータをたった1行で操る方法-Pythonを超える-

ごあいさつ

ご高覧いただきありがとうございます.
ソフトウェアエンジニアのKitaharaです.
本日はTwitterデータの収集方法を解説します!

なぜR言語なのか?

R言語とは

今回はR言語という少しマイナーよりの言語を使います.

知らない方もいるかと思うので補足ですが, データ分析が高価な解析ツールを買わないとできない時代に生まれたオープンソースの言語で, 分析を誰でもできるようにした功績のある偉大な言語です.

歴史ある言語だけあってライブラリが非常に充実していることが特徴です.特にデータ分析ではできないものはないと言われています.

なぜR言語なのか?

わざわざ流行のPythonではなくR言語を持ってきたのには理由があります.

それはPythonより圧倒的に簡単だからです.

R言語の強みの一つは豊富なライブラリによるローコード開発です.
今回はその強みを思う存分体験していただけたらと思います.

同じことは統計解析にも言えます.
もちろんPythonでもできるのですが, 特に長く使われている統計手法に関してはRを使うことによって得られる恩恵が大きいです.

Rがはじめての方へ

この記事はR言語という言語を使った記事です
マイナーな言語だと思うので, 環境構築方法と基礎文法をまとめた記事を用意いたしました. 初めてで不安という方は参考にしてみてください!

環境構築

今回はローカルで開発した方がRtweetのありがたみを享受することができるので, ローカルの環境構築することを強く推奨します.

RtweetがOAuth認証をするので今回はローカル環境を推奨していますが, 普通にRを使う分にはRStudio Cloudで環境構築すると早いです.

基礎文法

R言語はかなりクセのある言語なので初めての方は一読するとよいとおもいます!

ライブラリのダウンロード

今回はRtweetとというライブラリを使います.
Rtoolはなくても大丈夫です.

install.packages("rtweet")

RでTwitterを使いこなす

RでTwitterに投稿

RでTwitterに投稿する方法はこれだけです.
投稿する際に認証を求められるので案内に従ってください.

入力

library(rtweet)

post_tweet("Look, i'm tweeting from R in my #rstats! @kitahara_dev")

出力

> library(rtweet)
> post_tweet("Look, i'm tweeting from R in my #rstats! @kitahara_dev")
your tweet has been posted!
Rによって投稿されたツイート

これがRを使う強みです.
Pythonで同じことをしようとするとTwitterデベロッパーに登録してAPI Keyを取得する必要があるので数時間から数日の時間がかかります.

コードもAPI Keyなどを記述しない上, Rはライブラリを読み込むと関数を組み込み関数のように使えるので圧倒的に簡潔に書けます.

RでTwitterデータを取得

Twitterデータを取得するのも一行で終わりです.
まさに必殺の一撃ですね.

入力

library(rtweet)

tweets = search_tweets(q = "アルセウス", n = 100)

出力

> library(rtweet)
> tweets = search_tweets(q = "アルセウス", n = 100)
たった1行でデータをここまで取得できる

たった一行でこれだけの情報を取得することができます.

CSVにして保存

dplyrというライブラリを使うので必要に応じてインストールしてください.

library(dplyr)
as_data_frame(tweets)

var_list <- c(
  "created_at",
  "screen_name",
  "text",
  "retweet_count"
)
tweet_data <- select(tweets, one_of(var_list))
write.csv(x = tweet_data, file = "./tweet_data.csv", row.names=FALSE)

エンコードは人によって環境が違うと思うので各自で調整してみてください!

おわりに

今回はR言語を使ってTwitterのデータを収集する方法を解説しました!
Rにちょっとでも興味を持った」という方はぜひハートボタンを押していってください!

モチベーションが上がります!

記事内で不明な点等ございましたら気軽にご連絡ください.

Twitter: @kitahara_dev
email: kitahara.main1@gmail.com

参考文献

おまけ

今回使ったコードを載せておきます!
必要に応じて使ってみてください.


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