Twitterアカウントの作成からAPIを使用してツイート取得するまで。
Twitter API
というものを使うとTwitter上の情報を集めたりできて便利。
そこで、
Twitterアカウントの作成 → 開発者登録 → プロジェクト作成 → APIを使用してツイート検索・取得
までの作業を一通り行う。
1. Twitterアカウント作成
既存のアカウントでもいいけど開発用に新規作成した。
Twitterでアカウントを作成する。
- 名前
- 電話番号 or メールアドレス
- 生年月日
を登録する。
後で認証用のメールを送ってくるのでメールアドレスの方がいいと思う。
2. 開発者登録
Twitter APIを使用するためにはTwitterアカウントの開発者登録をする必要がある。
これが一番面倒。
DeveloperPortalで開発者登録する。
Twitterアカウントでログインして「Create an app」をクリック。
先に開発者登録しなさいと言われる。
「Apply」をクリック。
- アンケート
何を作りたいかを答えて「Get started」
ただのアンケートなのでどれでもいい。
- Basic info
名前、国、コーディングスキルを聞かれる。
答えて「Next」
- Intended use
APIの使用目的を聞かれる。
英文を書く必要があり面倒。
ちゃんと答えないと承認されないらしいが一瞬で承認されたので多分誰も読んでない。
質問と回答の例(自分の書いたやつ)↓
「How will you use the Twitter API or Twitter Data?」
「I want to get posts about manga, anime and games on twitter.
I would like to study based on those characteristics.
I’m going to use only twitter data.
I don’t use tweet, Favorites and Retweet function.」
「Are you planning to analyze Twitter data?」
「Yes」
「Please describe how you will analyze Twitter data including any analysis of Tweets or Twitter users.」
「I want to get posts about manga, anime and games on twitter.
I would like to study based on those characteristics.」
「Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?」
「No」
「Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?」
「No」
「Will your product, service, or analysis make Twitter content or derived information available to a government entity?」
「No」
ここまで答えたら「Next」。
- Review
今まで答えた内容を確認。
問題がなければ「Next」。
- Terms
規約をしっかり読んで「Submit application」を押す。
- 認証
承認されると認証用のメールが送られてくる。
メール中の「Confirm your email」を押して認証する。
3. APIキーの取得
APIを使用するためにはAPIキーが必要となる。
APIキーはプロジェクト作成時に発行されるが、メモし忘れた場合は再発行できる。
3.1. プロジェクト作成
プロジェクト作成。
DeveloperPortalの左タブの「Overview」をクリック。
「New Project」をクリック。
- Name your Project
プロジェクトの名前を適当に入力。
- Which best describes you?
一番それっぽいやつを選択。
- Describe your new Project
何するつもりか入力。
- Last step, name your App
アプリの名前を入力。
- Here are your keys & tokens
APIキーが発行・表示される。
これがないとAPIが使用できない。
メモしてから「App settings」をクリック。
うっかり忘れても後から再発行できる。安心。
3.2 APIキーの再発行
発行されたAPIキーをメモし忘れた場合はDeveloperPortalで再発行できる。
さっき作ったプロジェクトの右側の鍵マークをクリックする。
「API Key」、「API Key Secret」、「Bearer token」、「Access token」、「Access token secret」の5種類がある。
「Regenerate」をクリックすると過去に発行された鍵が破棄され、新たな鍵が発行・表示される。
4. APIを使用してツイート検索・取得
PythonスクリプトからTwitter APIを使用してツイートの検索・取得を行う。
4.1 Pythonのインストール
されている前提。
4.2 Pythonライブラリのインストール
requests
が必要。
ターミナルから以下のどちらかのコマンドでインストール。
1 | # pipの人 |
4.3 Pythonスクリプトの作成
Twitter公式の公開しているサンプルコードを改造。
https://github.com/twitterdev/Twitter-API-v2-sample-code/blob/master/Recent-Search/recent_search.py
後述のコードを作成。
今回は検索用のサンプルコードを使用したが他にも種類がある。
4.4 作成したPythonスクリプトの実行
作成したスクリプト内のBEARER_TOKEN
に、先ほど取得した自分のBEARER_TOKEN
を貼り付けると動く。query
に検索したい文字列、tweet_fields
に取得したい情報を入れる。
1 | import requests |
4.5 実行結果
検索されたツイートが10件表示される。
おそらく最新の10件、実行するたびに取得する内容が変わる。
無料枠で1ヵ月あたり500,000件のツイートを取得できるらしい。
実行結果を貼るとツイートの転載になるので貼らない。
5. 次回
サーバ上で定期実行できるようにする。
6. 発生したエラー
1 | Exception has occurred: MaxRetryError |
プロキシを通して実行したら発生。
別のネットワークから実行したら成功。
1 | Exception has occurred: Exception |
認証エラー。
プログラム中のBEARER_TOKEN
を間違えたら発生。
7. 参考
https://developer.twitter.com/en/docs/twitter-api/early-access
https://github.com/twitterdev/Twitter-API-v2-sample-code/blob/master/Recent-Search/recent_search.py