見出し画像

【111日目】Tweepyでツイート情報を取得_アカウント登録とAPIキーの取得

Todoアプリのブラッシュアップにも少し飽きてきたので、別テーマに寄り道しています。

以前からTwitterの分析に興味があり、Pythonで簡単にデータ収集できる「Tweepy」というライブラリを使ってみたいなと思っていました。

このライブラリを使ってデータ収集~DjangoでWebアプリを作って可視化、ということをやってみたいなと思っています。


本日はその第一歩です。

TwitterのDeveloper Portalにアカウント登録

tweepyを使うということは、TwitterにAPI連携してデータを取得するということです。そのためAPI用のキーやトークンを発行する必要があります。

これらはTwitterのDeveloper Portalにアカウントすることで生成できます。

2022年2月時点で、この登録手順は大きく2ステップあります。
1.単純なアカウント登録(Essential accessが可能になる)
2.Elevatedの申請(Elevated accessが可能になる)

1つ目のアカウント登録については、こちらの記事で分かりやすく紹介してくださっていました。

これだけでもtweepyを使うことはできるのですが、実は2021年11月のアップデートの影響で、新規登録者はTwitter APIのv2にしかアクセスできなくなりました。APIには従来から使われていたv1.1があり、実はこちらが使えない状態だとメソッドがうまく動作しなかったりします。

ブログ等で紹介されているtweepy関連のコードもv1.1を前提としているものが多く、いちいちエラーが出て学習が進まなかったりします。

そこで、アカウント登録が済んだら続けて「Elevated」申請をしておきます。方法は以下です。

↓Dashboardの「View products」をクリック

↓Elevatedタブで「Apply for Elevated」をクリック

↓手順に従って必要項目を入力し、規約に同意して「Submit」をクリック

↓そうすると以下のようにElevated accessが有効になったことが確認できます

ちなみに規約部分にたどり着くまでは英語で利用目的などを記載しないといけないので、少しだけ手間はかかります。


APIキー等を取得する

ここまで登録が済んだら次にAPIキーを取得します。ツイートを検索するには4-5つのキーが必要です(採用する方法によって微妙に変わります)。

以下がAPI関連の情報です。

①API Key
②API Key Secret
③Bearer Token
④Access Token
⑤Access Token Secret

①~③は単純なアカウント登録(Essential accessが可能になる)をすると、その最後に出てきて取得できます。

④と⑤はDashboardのカギマークをクリックして、

「Access Token Secret」という欄で「Generate」をクリックすればOKです(画像は一度生成した後のキャプチャなのでRegenerateになっています)

また、5つとも2度と表示されず、忘れてしまった場合は再発行になるため必ずどこかにメモを取っておいた方が良いです。


これでツイートを取得するための下準備が整いました。
次回は実際にツイートを取得するところについてまとめたいと思います。

Essential accessとElevated accessのどちらでも単純なデータ取得は可能なので、それぞれ触れてみたいと思います。


ここまでお読みいただきありがとうございました!!



これまで修了したコース等

【YouTube_Django関係】
Pythonでウェブサービスを作ろう! 1
テンプレートをマスターしよう! 2
静的ファイルを配信しよう !3
本番公開しよう! 4
データベースと接続しよう! 5
ブログを作って学ぶモデル入門! 6
これが汎用ビューの力! 7
Djangoフォームを自由自在に操ろう! 8
djagoを最大限使って効率よくログインを作ろう! 9
ログイン完成!サインアップ & メール認証 10
データベースマイグレーション前編 15
データベースマイグレーション後編 16

【YouTube_Pandas関係】
3時間でマスター Pandas入門コース
Pandas20本ノック

【Paiza】
Aランクレベルアップメニュー 24/49問
データセット選択メニュー   12/17問
配列メニュー         64/64問
ループメニュー1      20/20問
ループメニュー2      12/20問
条件分岐メニュー       25/25問
二重ループメニュー      19/19問
配列活用メニュー       26/26問
文字列処理メニュー      30/30問
Bランクレベルアップメニュー 62/62問
Cランクレベルアップメニュー 30/30問
ランクB合格
ランクC合格
JavaScript体験篇       15/15講座
辞書(ディクショナリ)の基礎 8/8講座

【書籍/ブログ】
Django入門 | 初心者でも1時間でWebアプリ(Todoアプリ)を作成するコース
基礎からのMySQL
Web技術の基本
京大のPython教科書
Pythonデータベースプログラミング
Pythonエンジニアファーストブック

【Progate】
Python Ⅰ~Ⅴ
Python アプリ版 コースⅠ~Ⅴ
SQL Ⅰ~ Ⅳ
SQL アプリ版 コースⅢ
HTML&CSS 初級編

【環境構築】
Python, VSCode, MySQL(MAMP), Git / GitHub, HEROKU, anaconda, jupyter lab

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