RaspberryPi + TwitterAPI(Python + tweepy)で自動フォローbotをデプロイする

RaspberryPi

前提条件

1. RaspberryPiのインストールが完了していること

インストール手順は↓を参照してください。

SDカードとMacBookだけでRapberryPi Zeroのセットアップを行う

2. Twitter APIの使用準備が完了していること

事前準備の手順は↓を参照してください。

TwitterAPIを利用するための事前準備 その1「Twitter developerの認証」
TwitterAPIを利用するための事前準備 その2「プロジェクトとAppの作成」

アプリの権限を「Read and write」に変更する

アプリの設定画面で、User authentication settingsの「Set up」をクリックし、
ユーザ認証の設定画面を表示します。

アプリの権限を「Read and write」に変更する
アプリの権限を「Read and write」に変更する

続いて、ユーザ認証の設定を入力していきます。
設定値については、画像と下記の手順を参考にしてください。

  1. 認証方法として「OAuth 1.0a」を選択
  2. App permissions(アプリ権限)として「Read and write」を選択
  3. Callback URI / Redirect URLとして任意のURLを入力
    ※ 認証プロセス後にOAuthがリダイレクトできる宛先
    ※ 特にない場合は「https://twitter.com」で良いと思います。
  4. Website URLとして自分のwebサイトのURLを入力
    ※ なければ「https://twitter.com」とかで良いと思います。

※ 値はそれぞれの環境によりけりだと思うので、適宜読み替えてください。

API Keyの取得

Twitter Developersにログインして、任意のAppを作成し、API key、API Key Secretを取得します。

API Keyの取得

API key、API Key Secreを紛失してしまっている場合

API key、API Key Secreを紛失してしまっている場合でも安心してください。
下記の方法で再生成が可能です。

API key、API Key Secreを紛失してしまっている場合
  1. 左パネルで作成したApp名を選択
  2. 「Keys and tokens」を選択
  3. 「API Key and Secret」の「Regenarate」をクリック

古いAPI KeyとSecretは使用できなくなるので注意してください。

Bearer Tokenの取得

続いて、Bearer Tokenの取得を行います。
API keyの取得と同様に「Bearer Token」の「Generate(またはRegenarate)」をクリックすれば表示されます。

わからない方は画像をご参照ください。

Bearer Tokenの取得

Access TokenとAccess Token Secretの取得

続いて、Access Tokenの取得を行います。
説明は不要かと思いますので、省略します。わからない方は画像をご参照ください。

Access Tokenの取得
Access Tokenの取得2

プログラムのインストール

表題の通り、
Python + tweepyで作成した自動フォロープログラムをRaspberryPiにインストールします。

スクリプトのダウンロード

RaspberryPiにプログラムファイルをダウンロード(clone)します。

# Raspberryにログイン
ssh pi@raspberrypi.local

# git clone
git clone https://github.com/nekonisi/tweepy_auto_follow

特記事項はありません。
強いて言うなら、GitHubのアカウントフォローしてくれると嬉しいな。

パッケージインストール

pipを使用して当プログラムの実行必要なパッケージをインストールします。

pipinstallには少し時間がかかるので、慌てず待ってください。

# ディレクトリ移動
cd tweepy_auto_follow

# requirements.txtを元にpipinstall
pip install -r requirements.txt

※ RapberryPiのpython環境を汚したくない方は、venvを作成するなりして退避してください

設定ファイル編集

config.ini.exampleをconfig.iniにリネーム後、前手順で取得したTokenを入力していきます。

# 設定ファイルのリネーム
mv config.ini.example config.ini
# 設定ファイルの編集
vi config.ini
[CONFIG]
consumer_key = {consumer_key}
consumer_secret = {consumer_secret}
access_token = {access_token}
access_token_secret = {access_token_secret}
bearer_token = {bearer_token}

動作確認

python autofollow.py 任意の検索ワード

でコマンドを実行して、Twitterのフォロー数が増えるか確認してみましょう。
増えていたら、うまく動作しています。

cronで定期実行させる

cronを使用して、RaspberryPiで定期的に自動フォローを実行させます。

# cronエディタを起動
crontab -e
0 5 * * * cd /home/pi/tweepy_auto_follow/; python /home/pi/tweepy_auto_follow/autofollow.py 駆け出しエンジニアとつながりたい
0 6 * * * cd /home/pi/tweepy_auto_follow/; python /home/pi/tweepy_auto_follow/autofollow.py  ブログ初心者とつながりたい
0 7 * * * cd /home/pi/tweepy_auto_follow/; python /home/pi/tweepy_auto_follow/autofollow.py ブログ初心者
0 8 * * * cd /home/pi/tweepy_auto_follow/; python /home/pi/tweepy_auto_follow/autofollow.py ブログ仲間募集
0 8 * * * cd /home/pi/tweepy_auto_follow/; python /home/pi/tweepy_auto_follow/autofollow.py ブログ仲間とつながりたい
0 21 * * *cd /home/pi/tweepy_auto_follow/;  python /home/pi/tweepy_auto_follow/autofollow.py 今日の積み上げ
0 * * * * cd /home/pi/tweepy_auto_follow/; python /home/pi/tweepy_auto_follow/autofollow.py 相互フォロー

2022/02/23 追記

自動フォロー解除botも作成したので、Twitter運用の自動化についてまとめて記事にします。
乞うご期待。

以上

コメント

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