LoginSignup
0
5

More than 1 year has passed since last update.

【Python】ツイートを自動ファボするbotを自作してみた【cron】【完全自動化】

Last updated at Posted at 2021-05-06

今回はPythonとMac標準搭載のCronを使って、
指定した語句を含むツイートを完全自動でファボするbotを開発したので、
こちらのノウハウを紹介する。

背景

Twitter運用でテキトーにふぁぼすれば認知度増えて、
フォロワー増えんじゃねという仮説のもと、ツール作成を発案

最初は弟に作成を依頼していたが、私がエンジニア配属になったので勉強がてら自前作成することに...

開発者のスキル

・文系私立大学出身
・開発当時のプログラミングスキルは開発未経験の初心者(Progateは一通り実施)
・もちろんAPIなどにはノータッチ
・現在はクラウドインフラエンジニアとして日々精進
・Twitter @postkershaw

こんな方に読んでほしい

・Twitterの運用を少しでも自動化したい
・TwitterAPIを触ってみたい
・Pythonを使ってみたい
・プログラミングを始めたばかりで、実践的なコードを書いてみたい

開発環境

OS : Mac 11.3.1
統合開発環境 : VS code
言語 : Python3, mac linux
TwitterのAPI使用

本投稿の内容

・TwitterのAPI取得から自動ファボを実施するMACの設定方法まで
※あくまで自己責任での実施をお願いします。

TwitterAPIの取得

自動ファボBotを作る上でTwitterのAPIが必要だということを有能な弟から事前に聞いていたので、ググってみたら魅力的な記事を発見!!

ちょっと情報は古いけど、ここにある手順通りに進めたら無事申請できた(手順変わってたらすみません...)

Pythonのコーディング

具体的なコーディング方法は以前noteの方に書いたので、こちらを参照していただけると幸い

ちなみに

favoriteのfile.py
for result in  reversed(search_results):

このように書き換えると投稿の早い順にソートを変更可能

cronを使用し、ふぁぼの実行さえも自動化

macのターミナルを使用して、

mac_terminal
crontab -e

を実行すると空のcrontabが出てくるので、

mac_terminal
03 8 * * * python3 実行ファイルのpath

のようなコマンドを入れる(iを押してinsertモード)

意味としては、左から

03 = 分
8 = 時
* = 日付(アスタリスクだと毎日)
* = 月(アスタリスクだと毎月)
* = 曜日 (アスタリスクだと毎日)

今回はPython3を使用するので、python3と指定した

記入後は、escキー → 「:wq」

mac_terminal
crontab -l

こちらのコマンドを実行し、記述したコマンドが反映されていたら設定完了

crontabに関して、詳しくは下記参照
crontabの書き方
cronにアクセス権を付与してない方向け

しかし、cronで設定しただけだとパソコンがスリープ状態では動作しない...

自動でスリープ状態から起動する設定をする

「システム環境設定→バッテリー→スケジュール」を設定可能

起動またはスリープ解除と同時に、スリープになる設定も行うと良いかも

これら全ての起動に成功すると...

スクリーンショット 2021-05-05 20.08.18.png

このような画面がターミナルに見える

You have new mailの内容をみたいなら

mac_terminal
mail

を実行すると、cronからコマンドを実行したというログメール的なものが届く

振り返り

AWSなどで24時間稼働するようなVMかサーバを立てないと
厳しいかなと思っていたが、自分のPCでも実行可能で大満足

結論: Pythonは怠け者の味方

ちなみに自動ファボを実施してフォロワーは殆ど増えていません
ツイッターって難しい...

よろしければフォローをお願いします 

Twitter @postkershaw

主にテクノロジー関連と株について呟いてそうろう

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5