Twitter API を Python で扱う時に便利なのが Tweepy という Twitter API をラッピングしたライブラリです。
ここでは Tweepy のインストール、Python を使ったコーディング、Twitter API を介したツイート投稿までを解説します。
以下のようにツイートを API を使ってできるようになります。
Hello twitter land !!
— ひろ@ITエンジニア☕ (@hiro_businessX) 2020年12月26日
- 実行環境|Mac OS、python、tweepy のバージョン
- Tweepy のインストール方法|Python パッケージ管理ツールの pip を使います
- 処理概要|Python で Tweepy を使い、ツイートする
- ソースコード|Tweepy を用いてツイートする Python コード
- コード解説 1. 事前準備|Tweepy の ACCESS TOKEN、SECRET KEY をセット
- コード解説 2. 初期パラメータセット|Tweepy ツイートするためのパラメータ
- コード解説 4. メイン処理|Tweepy で Twitter API を介してツイートする
- プログラム実行|作成した python コードを実行します。
- まとめ|Tweepy を pip install し api.update_status() でツイートする
リンク
実行環境|Mac OS、python、tweepy のバージョン
- MacOS X
- python 3.7.7
- pip 20.0.2
- tweepy 3.8
bash-3.2$ uname -a Darwin MacBook-Pro.local 19.6.0 Darwin Kernel Version 19.6.0: Tue Nov 10 00:10:30 PST 2020; root:xnu-6153.141.10~1/RELEASE_X86_64 x86_64 bash-3.2$ python -V Python 3.7.7 bash-3.2$ pip -V pip 20.0.2 from /usr/local/lib/python3.7/site-packages/pip (python 3.7) $ pip show tweepy Name: tweepy Version: 3.8.0 Summary: Twitter library for python Home-page: http://github.com/tweepy/tweepy Author: Joshua Roesslein Author-email: tweepy@googlegroups.com License: MIT Location: /usr/local/lib/python3.7/site-packages Requires: requests, PySocks, six, requests-oauthlib Required-by:
Tweepy のインストール方法|Python パッケージ管理ツールの pip を使います
- Mac のターミナルでのインストールしましたが、pip が入っていれば Linux でも Windows でも同じです。
$ pip install tweepy
これで Tweepy が使えるようになります。
処理概要|Python で Tweepy を使い、ツイートする
Tweepy を使って python コードを組み立てる処理概要です。
- 事前準備
- tweepy ライブラリの読み込み
- Tweitter API token, secret key のセット
- API レート制限時の挙動設定
- 初期パラメータセット
- 自分のスクリーン名の取得(アカウントの @aaaaa の部分)
- ツイート文言のセット
- メイン処理
- api.update_status()を使ってツイート
- エラーハンドリング
ソースコード|Tweepy を用いてツイートする Python コード
my_tweet.py
import tweepy CONSUMER_KEY="XXXXXXXXXX" CONSUMER_SECRET="XXXXXXXXXX" ACCESS_TOKEN="XXXXXXXXXX" ACCESS_SECERET="XXXXXXXXXX" auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECERET) api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True) my_name = api.me() my_screen_name = my_name.screen_name my_tweet = "Hello twitter land !!" def main(): try: api.update_status(my_tweet) print(my_screen_name,":You tweeted :",my_tweet) except Exception as e: print(e) main()
コード解説 1. 事前準備|Tweepy の ACCESS TOKEN、SECRET KEY をセット
import tweepy CONSUMER_KEY="XXXXXXXXXX" CONSUMER_SECRET="XXXXXXXXXX" ACCESS_TOKEN="XXXXXXXXXX" ACCESS_SECERET="XXXXXXXXXX" auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECERET) api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
- 必要なライブラリの読み込みを行います。
コード | 意味 |
---|---|
import tweepy | Tweepy を読み込む |
- Twitter Develpers サイトで取得したトークンやキーをセットします。
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECERET)
コード | 意味 |
---|---|
CONSUMER_KEY="XXXXXXXXXX" | 自分の CONSUMER_KEY をセット |
CONSUMER_SECRET="XXXXXXXXXX" | 自分のCONSUMER_SECRET をセット |
ACCESS_TOKEN="XXXXXXXXXX" | 自分の ACCESS_TOKEN をセット |
ACCESS_SECERET="XXXXXXXXXX" | 自分の ACCESS_SECERET をセット |
- Tweepy コマンド定義
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
コード | 意味 |
---|---|
wait_on_rate_limit | レート制限が補充されるのを自動的に待つかどうか |
wait_on_rate_limit_notify | Tweepyがレート制限の補充を待っているときに通知を出力するかどうか |
コード解説 2. 初期パラメータセット|Tweepy ツイートするためのパラメータ
- screen name (@name)を取得
my_name = api.me() my_screen_name = my_name.screen_name
- Twitter でツイートしたい文言のセット
my_tweet = "Hello twitter land !!"
コード解説 4. メイン処理|Tweepy で Twitter API を介してツイートする
- api.update_status() で my_tweet にセットした文言をツイートする
- print()でツイート内容を標準出力
- try 〜 exception で API エラー発生時にエラー内容を標準出力する
try: api.update_status(my_tweet) print(my_screen_name,":You tweeted :",my_tweet) except Exception as e: print(e)
プログラム実行|作成した python コードを実行します。
ターミナルから python プログラムを実行します。
$ python my_tweet.py my_screen_name :You tweeted : Hello twitter land !!
こんな感じにツイートされます。
Hello twitter land !!
— ひろ@ITエンジニア☕ (@hiro_businessX) 2020年12月26日
まとめ|Tweepy を pip install し api.update_status() でツイートする
- Python Tweepy でツイートするには
api.update_status()
コマンドを使います - エラー処理は try 〜 exception で API エラー内容を拾うことができます
リンク