【Twitter API v2の使い方】タイムラインを取得する

API

どうもイトサル(@itosaru)です。

・Twitter APIからタイムラインを取得したい
・どうやってTwitter APIを呼ぶプログラムを書けばいいか知りたい

この記事ではTwitter API v2を使ってタイムラインを取得するプログラムの作成方法についてお伝えします。

Twitterの開発者登録などが終わっていない場合はこちらの記事をご覧ください。

【2022年最新】twitterデベロッパーアカウント登録の手順を図解!
Twitter APIを使うにあたってまず最初にTwitterのデベロッパーアカウント(開発者)登録をする必要があります。開発者登録は英語のTwitter Developer Portalサイトで行いますが、ポイントとなる箇所は日本語訳を入れて図解します!

なおTwitter APIを呼び出すプログラム言語はPython使用し、プログラムにはTweepyライブラリを使用します。

PythonとTweepyをまだインストールしていない場合はこちらの記事をご覧ください。

Twitter API操作ライブラリ「Tweepy」をインストールする
PythonからTwitter APIを使うために、「Tweepy」というライブラリをインストールする必要があります。この記事ではPythonのインストールからTweepyライブラリのインストール方法までの手順を画像を使って分かりやすく説明します。

タイムラインを取得するプログラムを書く

それではタイムラインを取得するプログラムを書いていきましょう。

ツイートの投稿にはTweepyの

get_users_tweets()

メソッドを使います。

今回はスクリーンネーム(@で始まるもの)を入力して、そのユーザーのタイムラインを取得するプログラムを作成します。

下のコードに作成したAPI KeyやAccess Tokenを入力してファイルを保存しましょう。

import tweepy

# Twitter Deverloper Portalで取得したAPIキーをコーテション('')の間にそれぞれ入れる
API_KEY = 'API Key'
API_KEY_SECRET = 'API Key Secret'
# Twitter Deverloper Portalで取得したベアラートークンをコーテション('')の間に入れる
BEARER_TOKEN = 'Bearer Token'
# Twitter Deverloper Portalで生成したアクセストークンをコーテション('')の間にそれぞれ入れる
ACCESS_TOKEN = 'Access Token'
ACCSESS_TOKEN_SECRET = 'Access Token Secret'

#リファレンスの内容に沿って入力(https://docs.tweepy.org/en/stable/client.html)
client = tweepy.Client(bearer_token = BEARER_TOKEN, consumer_key = API_KEY, consumer_secret = API_KEY_SECRET, access_token = ACCESS_TOKEN, access_token_secret = ACCSESS_TOKEN_SECRET)

print("スクリーンネームを入力してください")
input_username = input()

user = client.get_user(username=input_username)
user_id = user.data.id

time_line = client.get_users_tweets(id=user_id)
time_line_data = time_line.data

if time_line_data != None:
    for i, tweet in enumerate(time_line_data):
        print("<!-- No" + str(i+1) + " Start-->")
        print(tweet.text)
        print("<!-- No" + str(i+1) + " End-->")

簡単にプログラムの説明をすると、『get_users_tweets()』はスクリーンネームではなく、User id(Twitterアカウント生成時に自動で採番される数値型のid)を引数として渡す必要があります。

そのため、20行目で『get_user()』を使って入力されたスクリーンネームからUser idを取得しています。

その後『get_users_tweets()』に取得したUser idを引数で渡してタイムラインを取得しています。

動作確認をする

保存ができたらプログラムを起動してみましょう。

OSのコマンドで下のコマンドを実行します。

python3 保存したパス/twpy_get_users_tweets.py

「python3 」まで書いたらコマンド画面にファイルをドラッグ&ドロップすると簡単です。

ためしに私のスクリーンネームを指定します。

ちゃんとタイムラインを取得できましたね!

取得対象にはリプライ(返信)やリツイートも含まれていました。

なお、『get_users_tweets()』を使ったタイムライン取得は初期値で最大10件です。
パラメータに『max_results』を追加することで最大100件まで取得することができます。

time_line = client.get_users_tweets(id=user_id, max_results=”100″)

まとめ

今回はTwitter APIを介してツイートを取得するプログラムを作成しました。

あたらめて今回の内容をおさらいします。

  1. タイムラインを取得したいユーザーの「User id」を取得する(『get_user()』を使う)
  2. 『get_users_tweets()』に取得したUser idを引数にして実行する
    →初期値は最大10件、「max_result」パラメータで最大100件取得可能

また、『get_users_tweets()』のパラメータは件数以外にも取得するツイートの対象期間を指定することができます。

詳細はTweepyの公式リファレンスに記載がありますので、興味がある方は読んでみましょう。

》Tweepyリファレンス(英語ページ)

Pythonの勉強におすすめな本

Pythonについて勉強したい!という方は

Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

の本がおすすめです。

前ページがカラー印刷で、かわいらしいどうぶつ2人の会話形式で読みやすいです。

内容はPythonの特徴からはじまり、プログラミングの方法、そして簡単な人工知能を作るまでを解説してくれます。

またこの本の続編である、「Python2年生」も発売されているので合わせてどうぞ!

  • Python2年生 データ分析のしくみ 体験してわかる!会話でまなべる!
  • Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!

 

コメント

タイトルとURLをコピーしました