初心者向け!PythonでTwitterに自動ツイートするプログラムを作る方法
Twitter使いこなしてますか?
今回はTwitter APIを利用して、自動ツイートするプログラムを作ってみます。ようするにbotですね。
1から作ることで拡張性が無限に広がりますし、他のサービスやAPIを組み合わせることで手軽に面白いbotが作れます。
はじめの一歩ということで簡単なプログラムを作っていきましょう。
事前準備
はじめに下記のページからTwitterにアプリ情報を登録します。
※作成するアプリが具体的に決まってない場合は仮の情報で大丈夫です。
ホーム画面
「Create New App」ボタンをクリックします。
アプリ設定画面
登録するアプリの情報を入力します。
- Name:アプリの名称
- Description:アプリの説明
- Website:アプリを公開するWebサイト
- Calback URL:認証成功時に通知するURL ※省略しておk
※具体的に決まってない場合は適当に入力して確定次第更新しましょう。
エラー発生時
Twitterアカウントに電話番号が登録されていない場合は認証エラーメッセージが表示されます。
下記ページを参考に登録を行いましょう。
アプリ設定情報画面(1)
設定が完了したら「Create my access token」ボタンをクリックします。
アプリ設定情報画面(2)
Twitter APIを利用するための各種APIキーを控えておきましょう。
- consumer_key
- consumer_secret
- token
- token_secret
実装
まず必要なライブラリをインストールしましょう。
$ pip install twitter $ pip install python-dotenv
Twitterにツイートを投稿するプログラムを実装してみます。
まずは取得したAPIキーを設定するファイル。
TW_CONSUMER_KEY='〜' TW_CONSUMER_SECRET='〜' TW_TOKEN='〜' TW_TOKEN_SECRET='〜'
設定した値を読み込みます。
import os from dotenv import find_dotenv, load_dotenv # find .env automagically by walking up directories until it's found, then # load up the .env entries as environment variables load_dotenv(find_dotenv()) TW_CONSUMER_KEY = os.environ.get('TW_CONSUMER_KEY') TW_CONSUMER_SECRET = os.environ.get('TW_CONSUMER_SECRET') TW_TOKEN = os.environ.get('TW_TOKEN') TW_TOKEN_SECRET = os.environ.get('TW_TOKEN_SECRET')
メインとなるプログラムです。
import config from twitter import * def main(): t = Twitter( auth=OAuth(config.TW_TOKEN, config.TW_TOKEN_SECRET, config.TW_CONSUMER_KEY, config.TW_CONSUMER_SECRET)) # Post a message msg = 'テスト投稿ですm(_ _)m' t.statuses.update(status=msg) if __name__ == '__main__': main()
自動ツイートする方法
cronを利用して、作成したプログラムを自動実行します。 cronの詳細はこちらをご覧ください。
$ crontab -e # 追加(毎時0分にプログラムを実行する) 0 * * * * cd /Users/hoge/twitter-bot/; python /Users/hoge/twitter-bot/main.py
※パスは環境に応じて変更してください。
ソースコード
GitHubに公開しています。