#著者の実行環境
OSはWindows10、Pythonのバージョンは3.7.8となっています。VS CodeでPythonを実行しています。
初心者ではありますが、環境構築は済んでいるのでスキップさせていただきます。
#はじめに
著者は初心者なので、なるべく正確な情報を記述するように心がけていますが、情報に誤りがあるかもしれません。あらかじめご了承ください。
#コードを書く前に準備!
###TwitterAPIへのアクセス権限の取得
アクセス権限を得るために、自分のTwitterアカウントをデベロッパーアカウントに昇格させましょう。
(Twitterアカウントにメールアドレスと電話番号を紐づける必要があります)
以下のサイトにアクセスします。
https://developer.twitter.com/en/apply-for-access
"Apply for a developer account"をクリックします。
はじめに、"Professional"(プロ) "Hobbyist"(趣味でやる人) "Academic"(勉強のために使う人)の3択があるので、自分に合うものを選んでください。
次に、"Making a bot"(ボットを作る) "Building tools for Twitter users"(ツイッターユーザーのためのツールを作る) "Exploring the API"(APIを探求する)の3択があるので、自分の目的に近いものを選んでください。
上から順に説明します。
"What would you like us to call you?" → 呼び名を入力してください。
"What country do you live in?" → 居住国を入力してください。
"What's your current coding skill level?" → 現段階のプログラミングレベルを入力してください。
未経験なら"No experience" ちょっとなら"Some experience" ゴリゴリあるなら"Highly experienced" を選びましょう。
ここからが一番大変なのですが、がんばりましょう。
"How will use the Twitter API or Twitter Data?"(TwitterのAPIとデータをどのように使いますか?)
という質問に対する返答を200字以上の英語で回答しましょう。
I would like to ~ を使って大雑把なAPIの利用目的を記述し、For exampleを使って具体的な利用方法を記述すると、頑張れば200字は埋められます。(2行くらいで200字になります)
Twitterのデータも分析してみたいという人はYesにし、どのようにTwitterのデータを活用するか100字以上で記述しましょう。
ツイート機能を利用したいので、Yesにします。どのようにツイート、リツイート、ライク、フォロー、DM機能を利用するか、100字以上の英語で書きましょう。
集計したデータをTwitter以外の場で開示したい場合はYesにしましょう。どこで、どのように開示するか記述しましょう。
TwitterAPIを用いて作ったプログラムを政府機関(教育機関は除く)も利用可能にする場合、Yesにします。(ほとんどの人の場合該当しません)
(スクショの画像ではYesになっていますが、スクショ後Noにして申請しました)
このような画面が表示され、認証メールが送られますので、メールボックスをチェックしましょう。
このようなメールが届いているはずです。Confirm your emailをクリックしましょう。これで
開発者アカウントに昇格完了です!以下のサイトにアクセスしましょう。
https://developer.twitter.com/en/portal/dashboard
使う目的を選択します。今回は"Exporing the API"でいきます。
プロジェクトの概要を記述しましょう。著者は"Tweet something using Twitter API."にしました。
API Key、API Secret Key、Bearer Tokenを取得できました。これらの情報を見れるのは最初で最後なので、Windowsのメモ帳にメモするのをお勧めします。(情報をなくしたとしても、再生成はできる)(メモ内容は見られないように管理する)
アプリの権限を変更してツイッターのデータに書き込んだり、DMできるようにしましょう。"Edit"をクリックします。
Read+Write+Direct Messagesを選択して、Saveをクリックします。
Access Token and SecretをGenerateしましょう。
これらもメモ帳にコピペしておきます。
これでTwitter側での操作は完了です。
###tweepyライブラリのインストール
著者はコマンドプロントにてインストールをしました。(Anacondaを利用している場合のインストール方法はわからないのでご了承ください。)
#コードを書く!
import tweepy
API_KEY = "******************"
API_SECRET = "*****************"
ACCESS_TOKEN = "******************"
ACCESS_TOKEN_SECRET = "*****************"
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
api.update_status("テスト")
API Keyなどは先ほどメモしたものを入力すればオッケーです。
api.update_statusの引数がツイート内容となっています。
tweets = api.search(q='"#python"', lang='ja', result_type='recent',count=5)
for tweet in tweets:
print (tweet)
上のコードを実行するとツイート情報を取得できます。
q=検索キーワード、lang=言語、result_type=取得するツイートの種類、count=ツイートの取得数となっています。
result_typeにはpopular(人気のツイート)、recent(最新のツイート)、mixed(すべてのツイート)の3種類があるみたいです。
#参考サイト
https://dividable.net/programming/python/python-twitter-api-get-followers-count
https://qiita.com/soma_sekimoto/items/6b9f32552f4ab50be452
https://syncer.jp/Web/API/Twitter/REST_API/GET/search/tweets/