10分クッキング！誰でもインフルエンサーになれるinstabotの作り方🍳

# はじめに
いきなりですが、普段インスタグラムを使っているなら
せっかくだしたくさんの人にフォローされてみたいし、いいねされたくないですか？
プログラミングの経験を身近なSNSで活かせたら楽しそうですよね！

自分も、せっかく投稿したんだし、出来ればたくさんの人に見てもらいたい！
たまたま見てくれた方々のフォローを待つのはなかなかもどかしい〜！！
ズボラだから簡単にフォロワー・いいねを増やしたいなんて思ったわけです。

そこで、**instabot**を使ってみたよってお話です✌🏻

## 対象者
- インスタグラムをやっている方
- インスタグラムのフォロワーを増やしたい方
- プログラミング経験者

## instabotって？？
簡単にいうとインスタグラムの**自動いいねツール**です。
(いいね以外の機能もありますが今回は割愛👻)

#### いいね・フォロワーが増える流れ
インスタグラムの投稿には**ハッシュタグ**がつけられます。
instabotではハッシュタグを指定して、紐づいている投稿に「いいね」をしにいきます。
いいねされたユーザーは自分のアカウントに気づいて閲覧してくれて、
その中でも興味を持ったユーザーはいいね・フォローをしてくれます。

一見「たかがいいね」「それで増えるの？」なんて疑いの目を向けたくなりますが、
自分が作成したテストアカウントでは一週間に
**140フォロワー増えました**👏🏻👏🏻

botは気分で動かしたり、しなかったりですが日々こんな感じ↓
知らない喫茶店知ってる人を自然と知れたりと個人的に大満足。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/233386/82e0bfac-a56c-10cb-619a-501225784fbb.png)

10件前後だった投稿の**いいねも400件**つくことも！
プロフィールの**アクセス数も1800件を超え**たり！


インサイトを見るのがたのしい〜〜

##### 合わせて使うとたのしい分析ツール「インサイト」について
個人のアカウントでも自分のアカウントへのアクセス数や
フォロワーの男女比・国籍などのデータが見られるようになります。
https://gaiax-socialmedialab.jp/post-51356/



# ここから実装☝🏻

## 自分の環境
- Python 3.7.0
- anaconda 1.7.2
- OS Mojave(10.14)/high sierra/sierra(10.12.5)で動作確認済み

## 導入方法
### anacondaでbotの実行環境をつくる
今回使用するinstabotはPythonで書かれているため、Pythonが実行できる環境を
構築する必要があります。
Pythonの環境構築するためにanacondaをインストールする必要があります。

1. サイトからanacondaのインストーラをダウンロード
   https://www.anaconda.com/download/#macos 

　Python 3.7 version *を選択
<img width="966" alt="Downloads_-_Anaconda.png" src="https://qiita-image-store.s3.amazonaws.com/0/233386/eee34a59-1825-3670-138b-a5a0812610d9.png">
その際にブラウザ上に表示されるモーダルウインドウは❎ボタンで消して大丈夫です！
￼
2. インストーラの実行。インストール先はルート以下の~/anaconda3です(VSCodeは使わなくても大丈夫なので任意)
3. プロジェクトでもpythonコマンドを実行できるようにPathを通す
　以下のコマンドはフルパスなのでどこのディレクトリで実行していただいても構いません。

```terminal:terminal
$ vi ~/.bash_profile
```

.bash_profileに以下のpathを記述

```terminal:.bash_profile
# added by Anaconda3 4.3.0 installer                                                
export PATH="/path/to/anaconda/bin:$PATH"
```

4.忘れずに変更を適用

```terminal:terminal
$ source ~/.bash_profile
```


これでプロジェクトディレクトリ以下でもpython3コマンドを実行できるようになります。
念の為、ここでバージョンを確認します。

```terminal:terminal
$ python3 --version
```
バージョンは3.0以上になっていれば大丈夫です。

ここまでで環境設定は終わりです。
### botの実行

1. まず、gitHubからソースコードをDesktop内にclone。

[ソース] https://github.com/instabot-py/instabot.py

```terminal:terminal
$ git clone https://github.com/instabot-py/instabot.py.git
```
2.完了したら`cd instabot.py`で**プロジェクト内に移動。**
プロジェクト名が.pyなの、ちょっと気持ち悪いですね〜🤧気になる方は変更を！

3. プロジェクトに必要なモジュールをインストールする。anacondaによりpipコマンドを使えるようになっているので以下を実行。

※`pip --version`で18.1ならここは飛ばしてください。

```terminal:terminal
$ pip install --upgrade pip
```

4.以下のコマンドで必要なモジュールをインストールする

```terminal:terminal
$ pip install -r requirements.txt
```
以下のようなlogになれば完了です。
<img width="1209" alt="スクリーンショット 2018-12-04 16.18.30.png" src="https://qiita-image-store.s3.amazonaws.com/0/233386/3b83b023-1ddb-fcb8-6df0-20d0e2cb9658.png">

 
余談：　pipコマンドがpip3じゃなくてもいい理由。。 https://teratail.com/questions/46066

5.ファイルの編集
example.pyを適当なエディタで開いてください。
変更箇所で囲まれている行を適宜自分のアカウントに合わせて書き換えてください。
また、今回使用する機能はいいね機能のみなので
以下のコードで、コメントやフォローの機能は初期値を0などに変更しています。

```python:example.py
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import time

from src import InstaBot
from src.check_status import check_status
from src.feed_scanner import feed_scanner
from src.follow_protocol import follow_protocol
from src.unfollow_protocol import unfollow_protocol

#login:user:自分のアカウント名
#passward:自分のパスワード
#like_per_day:1日にいいねする数
#comments_per_day:1日にコメントする数
#tag_list:いいねするハッシュタグリスト
#tag_blacklist:入っていたら、いいねしないハッシュタグリスト
#max_like_for_one_tag:１つのタグに対して最大どのくらいいいねするか
#follow_per_day:1日にフォローする数
#unfollow_per_day:1日にアンフォローする数
#unfollow_break_min:最小でどのくらいフォロワーを減らすか
#unfollow_break_max:最大でどのくらいフォロワーを減らすか
#log_mod:0=コンソールにログを表示　1=ファイルにログを残す　2=ログ残さない

# ----変更箇所----
bot = InstaBot(
    login="userName", 
    password="password", 
    like_per_day=5000, 
    comments_per_day=0,
    tag_list=['純喫茶', '喫茶部', '喫茶店', '純喫茶コレクション', '珈琲'], 
    tag_blacklist=[],
    user_blacklist={},
    max_like_for_one_tag=5,
    tag_blacklist=[],               
    user_blacklist={},              
    follow_per_day=0,               
    follow_time=1 * 60,             
    unfollow_per_day=0,             
    unfollow_break_min=0,           
    unfollow_break_max=0,           

# ----変更箇所----
# 以下略
```
変更後の保存をお忘れなく！

6.ファイルを保存したら実行(instabot.pyディレクトリ内で)

```terminal:terminal
$ python3 example.py
```
を実行
<img width="557" alt="スクリーンショット 2018-12-02 14.38.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/233386/43338c34-2bf1-06db-5952-69877c9f9813.png">

こんな感じでログインしていいねが実行されていきます。
インスタグラムの
止めるときはControl + Cで止まります。


おわり✌🏻


### 注意事項
無理にいいね数をあげると、いいね機能が停止されます😢😢目安として。。。。
一日平均3000いいねが限界のような気がしました🌴
ただしbotの一定時間当たり(1分とか１時間単位)のいいね数が
安定しないので1日あたりのいいね数は多めに5000とかの設定で様子見ると良いと思います。
上手な運用方法は研究中です〜〜〜むずかしい😭

instabot.pyがプログラムの大半を動かしているのでtime.sleepを挟んでみたり色々いじっ
てみてください！

### 参考サイト
参考サイト: https://garmentshack.jp/instabot/
ソース: https://github.com/instabot-py/instabot.py
 ファイル解説: https://review-of-my-life.blogspot.com/2017/12/python-instagram-instabotpy.html


## [おまけ]エラーについて

実行時にこうなってしまったら

<img width="468" alt="スクリーンショット 2018-12-02 18.56.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/233386/11181c63-dd74-a992-db71-ca32fc4a2063.png">
ログイン情報を誤っている可能性が高いので見直してみてください。


<img width="471" alt="スクリーンショット 2018-12-04 17.13.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/233386/a531f4cb-7f84-a069-3936-1fd3ea4ff678.png">

これはいいね機能に規制がかかってしまっています。Control + Cで停止して様子を見てください。