65日間のモラトリアム生活

次の仕事も決まってないのに、家族にも言わず退職。有休代休消化の65日間の生活をダラダラと書いていきます。

instabotの作り方

 

はじめに

インスタグラムを使っているなら、せっかくだし多くの人に見てもらいたい方法を考えてみる。インスタグラムは、他の人にイイねしたりフォローをすることによって、自分の投稿の注目を上げることが可能(逆にそれ以外の方法は難しい)。

検索すると有料でマーケティングツールなども見つかるが、とりあえず無料で試してみようと、instabotなるツールを導入してみる。

概要としては、

今回は24時間連続稼働を目指さないため、Windows10(Pro/64bit)環境上で、instabotを導入するまでの方法の手順メモ。

 

そもそもinstabotとは

instabotは、指定されたタグの付いた投稿に自動的にイイねをつけてくれたり、フォローしたりが可能。イイねをつけられた人はお返しに、イイねを返してくれたり、フォロワーになってくれたりする。(機能的には他にもありそうだが、それだけでいったんは十分。)

 

まずはannacondaのインストール

以下のサイトからannacondaをダウンロードし、インストールを行う。

https://www.anaconda.com/distribution/

f:id:japaopia:20190909150809p:plain

ダウンロードしたファイル(Anaconda3-2019.07-Windows-x86_64.exe)を実行する。

f:id:japaopia:20190909151116p:plain

規約に合意ということで「I Agree」をクリックする。

f:id:japaopia:20190909151803p:plain

他のユーザは使用しないのでこのまま「Next」をクリックする。

f:id:japaopia:20190909151335p:plain

特にインストールパスも変更する必要がないのでこのまま「Next」をクリックする。

f:id:japaopia:20190909151532p:plain

コマンドから使用する(かもしれない)ので、パスには追加しておく。「Add …variable」にチェックを入れ「Install」をクリック。

f:id:japaopia:20190909151657p:plain

インストールが始まる。「Completed」と表示されたら完了なので「Next」をクリックする。

f:id:japaopia:20190909152430p:plain

 以下の2つのチェックは外し、「Finish」をクリックし終了。

f:id:japaopia:20190909153509p:plain

念の為、起動を確認する。

コマンドプロンプトから「Python --version」と打ち込んでみる。バージョンが表示されたらOK。

f:id:japaopia:20190909154508p:plain

 

instabotのインストール

https://github.com/instabot-py/instabot.py にアクセスし、ソースをzip一式をダウンロードする(gitを使える場合はそれでも可能)。

f:id:japaopia:20190909155300p:plain

zipを解凍し、好きなフォルダに移動しておく。(当環境では、D:\Python\の下に移動した上で、フォルダ名を「instabot.py」に変更した)

コマンドプロンプトで以下のコマンドを打ち、必要なモジュールをダウンロードする。

pip install -r requirements\base.txt

環境によっては、7行目(PyYAML)のインストールでエラーになることある模様。

その場合は、pipをバージョンダウンして再度トライすること。

参考:https://arrowkato.hatenadiary.org/entry/20180723/1532378976

以前は実行ファイル自体に設定を記述していたようだが、YAML形式で別ファイルに設定を記述するように変更になった模様。従って、カレントフォルダ(D:\Python\instabot.py)にinstabot.config.ymlを作成し、最低限の設定を記述する。

login : "LOGINID"   ##ログインID
password : "PASSWORD" ##パスワード
like_per_day: 720       ##1日あたりのイイねの数(1000ぐらいにおさめるが吉)
max_like_for_one_tag: 30  ##タグあたりのイイねの数
tag_list: ["おしゃれ","カフェ"]

ここでようやく実行してみる。

python -m instabot_py -c instabot.config.yml 

もしモジュールがウンタラカンタラみたいなエラーが出た場合は、引数に

--ignore-updates flag

を加えるとうまくいくこともある模様。以下のようなログが出れば成功。

>python -m instabot_py -c instabot.config.yml --ignore-updates flag

2019-09-09 19:35:07,141 - LOGIN-ID - Persistence - DEBUG - Init SQL Perisitence sqlite:/// LOGIN-ID
2019-09-09 19:35:07,175 - LOGIN-ID - InstaBot - INFO - Instabot v0.5.9 started at 09.09.2019 19:35:
2019-09-09 19:35:07,177 - LOGIN-ID - INFO - Found session file LOGIN-ID .session
2019-09-09 19:35:09,014 - LOGIN-ID - InstaBot - INFO - LOGIN-ID login success!
2019-09-09 19:35:09,015 - LOGIN-ID - InstaBot - INFO - Saving cookies to session file LOGIN-ID .session
2019-09-09 19:35:09,027 - LOGIN-ID - InstaBot - INFO - Reading configuration (9 settings) from instabot.config.yml
2019-09-09 19:35:09,029 - LOGIN-ID - InstaBot - DEBUG - Get Media by tag: カフェ
2019-09-09 19:35:10,805 - LOGIN-ID - InstaBot - DEBUG - Retrieved 67 medias
2019-09-09 19:35:10,862 - LOGIN-ID - InstaBot - DEBUG - Select 29 medias to process. Increase max_like_for_one_tag value for more processing medias
2019-09-09 19:35:10,863 - LOGIN-ID - InstaBot - DEBUG - Trying to like media: id: xxxxxxxxxxxx, url: https://www.instagram.com/p/xxxxxxxxxxxxx/
2019-09-09 19:35:11,367 - LOGIN-ID - InstaBot - INFO - Liked media #1: id: xxxxxxxxxxx, url: https://www.instagram.com/p/xxxxxxxxxxxxx/

結果、効果は少し様子を見て別途報告の予定。