Twitter 30days Search & Save Results as a CSV - Client made with Streamlit, expected to deploy in the Streamlit Cloud.
Twitter API v1.1のPremium Searchを利用して、特定のキーワードで検索できるWebアプリ。直近30日間のつぶやきを対象に検索できます。
フォロワー数によるフィルタリングも可能。
検索結果をDataFrameとしてアプリ上で閲覧でき、CSVファイルとして保存することができます。
デプロイ先としてはStreamlit Cloudを想定しています。
Twitter APIの仕様変更により、無料プラン(Sandbox含む)では利用できない状態となっています。 また2023年度のAPI仕様変更には対応していないため、仕様変更に伴う動作保証はいたしておりません。
キーワード検索にヒットしたツイートおよびツイートをしたユーザーについての、下記の情報をカラムとして出力します。
- user_id: ユーザーID
- screen_name: @に続くユーザー名
- profile_name: ユーザーが設定したプロフィール名
- followers_num: フォロワー数 (フィルタリング対象の列)
- tweet_date: ツイートした日時
- tweet_text: ツイートしたテキスト内容
30days Searchを利用するにはPremium Searchを利用できるアクセス権が必要です。
Twitter API Sandboxの作成・申請方法。30日間検索と全期間検索を無料で実行
本リポジトリのファイルをStreamlit Cloudへデプロイしてください。
GitHubへクローンのうえ、Streamlit Cloudで該当のリポジトリを指定する方法がおすすめです。
デプロイ設定時、メインファイルのパスはstreamlit_30d.pyを指定します。
Tweepyを介してTwitter API検索を行う際にTwitter DeveloperでのAPI keyを利用します。利用するAPI keyを秘密鍵としてStreamlitのSecret設定で保存してください。
下記を参考にStreamlit Cloud上で秘密鍵を保存・設定してください(Secrets management)。下記の変数名をAPI認証に利用しています。
consumer_key="xxxxxxx_your_consumer_key_xxxxxx"
consumer_secret="xxxxxxx_your_consumer_secret_key_xxxxx"
bearer_token="AAAAAAAAAAAAAAAAAAAAAbearer_tokenAAAAAAAAAA"
access_token="xxxxx_access_token_xxxxxx"
access_token_secret="xxxxx_access_token_secret_xxxxxxx"
Python v3.8で確認済。
- Pandas
- Streamlit
- Tweepy
Streamlit Cloud