【Python】Instabotでインスタグラム運用自動化を実現する方法

当ページには広告が含まれています。

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

こんな方におすすめ!
  • Pythonを活用してInstagramの運用を効率化したい
  • Instabotライブラリの利用方法を詳しく知りたい
目次

Instagramの運用自動化とは|何ができるの?

Instagramの運用自動化とは、これまで手作業で行なってきたインスタ操作をシステムで自動化することを指します。

Python等のプログラミング言語を活用すると、インスタアプリ上での操作は全て自動化できます。さらに、プログラムの組み合わせにより、インスタデータの自動収集・グラフ作成・結果考察等の一連作業もまとめて効率化できるようになります。

【Python】Instabotとは

Instabotとは、Instagramの操作をPython環境で操作できるようにするライブラリです。

本記事ではInstabotを活用してInstagramを自動で操作する方法について解説します。

Instabotでできること

Instabotを活用すると、Python環境で次のような操作が実現できるようになります。

アクション系

  • フォロー
  • フォロー解除
  • DM送付
  • Likeを送付
  • 写真投稿

分析系

  • ユーザー情報チェック
  • フォロー数チェック
  • フォロワー数チェック

Instabot利用上の注意点

Instabotは手軽に利用できる一方で、「動作が重たい」「Instagram公式からセキュリティチェックが入る」など不安定な部分もあることに注意が必要です。

本格的にInstagramの効率化を実現したい場合、Meta(旧Facebook)が提供するInstagram Graph APIを活用することを強く推奨します。

Instagram Graph APIの利用方法について詳しく知りたい方はこちらの記事をご覧下さい。

Instabot利用時|ライブラリのインストール

Python環境でInstabotライブラリを利用する場合、以下を実行して事前にライブラリインストールを行なっておきましょう。

pip install instabot

【Python】Instabotを活用したInstagramの自動操作|アクション系

Instabotを活用してInstagramを自動操作する方法について解説します。

【事前準備】Instagramへのログイン操作

はじめに、Instagramアカウントにアクセスするためのインスタンスを作成します。

usernameにインスタユーザー名、passwordにインスタパスワードを記述し、コードを実行しましょう。

from instabot import Bot

# インスタボット
bot = Bot()

# ログイン
bot.login(username="XXXXXXXXXX",  # Instagramのユーザー名を入力 
          password="XXXXXXXXXX")  # Instagramのパスワードを入力

【実践】Instagramアカウントをフォローする

Python環境でinstabotを利用して、インスタグラムアカウントをフォローする方法を以下に示します。

特定のInstagramユーザーを指定してフォローしたい場合

# フォローしたいユーザー名
user_name = "instagram"

# フォロー
bot.follow(user_name)

複数のInstagramユーザーをまとめてフォローしたい場合

# ユーザーリスト
user_lists = ["user1", "user2", "user3"]

# フォロー
bot.follow_users(user_lists)

【実践】Instagramアカウントをフォロー解除する

Python環境でinstabotを利用して、インスタグラムアカウントをフォロー解除する方法を以下に示します。

特定のInstagramユーザーを指定してフォロー解除したい場合

# フォローしたいユーザー名
user_name = "instagram"

# フォロー
bot.unfollow(user_name)

複数のInstagramユーザーをまとめてフォロー解除したい場合

# ユーザーリスト
user_lists = ["user1", "user2", "user3"]

# フォロー
bot.unfollow_users(user_lists)

【実践】ダイレクトメッセージ(DM)を送付する

Python環境でinstabotを利用して、ダイレクトメッセージを送信する方法を以下に示します。

特定のInstagramユーザーを指定してDMを送りたい場合

# DMメッセージ
message = "メッセージ内容です"

# ユーザー名
user_name = "instagram user name"

# DM送付
bot.send_message(message,    # メッセージ 
                 user_name   # 送付先
                )

複数のInstagramユーザーに対してDMを送りたい場合

# ユーザーリスト
user_lists = ["user1", "user2", "user3"]

# DMメッセージ
message = "こんにちは!"

# DM送付
bot.send_messages(message,    # メッセージ 
                  user_lists  # 送付先
                 )

【実践】Likeメッセージを送る

Python環境でinstabotを利用して、Like(いいね)を送信する方法を以下に示します。

特定のInstagramユーザーを指定してLikeを送りたい場合

# ユーザー名
user_name = "instagram user name"

# DM送付
bot.send_like(message,    # メッセージ 
              user_name   # 送付先
             )

複数のInstagramユーザーに対してLikeを送りたい場合

# ユーザーリスト
user_lists = ["user1", "user2"]

# Likeを送付
bot.send_likes(user_lists)

【実践】画像を投稿する

Python環境でinstabotを利用して、インスタグラムに画像をアップロードする方法を以下に示します。

# 投稿したい画像のディレクトリ
picture = "https://投稿したい画像リンク.jpg"

# 投稿文
message = 'これは投稿文です'

# 画像投稿
bot.upload_photo(picture,         # 写真
                 caption=message  # 投稿文
                )

【Python】Instabotを活用したInstagramの自動操作|分析系

続いて、instabotを活用してインスタグラムの主要指標を獲得する方法について解説します。

【事前準備】Instagramへのログイン操作

はじめに、Instagramアカウントにアクセスするためのインスタンスを作成します。

usernameにインスタユーザー名、passwordにインスタパスワードを記述し、コードを実行しましょう。

from instabot import Bot

# インスタボット
bot = Bot()

# ログイン
bot.login(username="XXXXXXXXXX",  # Instagramのユーザー名を入力 
          password="XXXXXXXXXX")  # Instagramのパスワードを入力

【実践】特定のInstagramアカウントの情報をチェックする

インスタアカウントの基本情報を取得したい場合、以下のコードを実行します。

# ユーザー名
user_name = "instagram"

# ユーザー情報取得
bot.get_user_info(user_name)

【実践】特定のInstagramアカウントのフォロー数をチェックする

インスタアカウントのフォロー数をチェックしたい場合、以下のコードを実行します。

# ユーザー名
user_name = "instagram"

# フォロー取得
follow = bot.get_user_follow(user_name)

# 出力
print(user_name+"フォロー数: "+len(follow))
# 出力イメージ
# {'pk': 25025320,
#  'username': 'instagram',
#  'full_name': 'Instagram',
#  'is_private': False,
#  'profile_pic_url': 'https://scontent-lax3-1.cdninstagram.com/v/t51.2885-19/281440578_1088265838702675_6233856337905829714_n.jpg?stp=dst-jpg_s150x150&_nc_ht=scontent-lax3-1.cdninstagram.com&_nc_cat=1&_nc_ohc=OA3xGrk24oMAX-KCdhi&edm=AEF8tYYBAAAA&ccb=7-5&oh=00_AT-8Fo6t-wGSN8DjEW67Uw4I4kzu7lkkO4zGL_59Ty-RIA&oe=62DC7318&_nc_sid=a9513d',
#  'profile_pic_id': '2839516949842903169_25025320',
#  'is_verified': True,
#  'follow_friction_type': 0,
#  'has_anonymous_profile_picture': False,
#  'media_count': 7189,
#  'geo_media_count': 0,
#  'follower_count': 532268529,
#  'following_count': 136,
#  'following_tag_count': 5,
#  'is_supervision_features_enabled': False,
#  'biography': "Discover what's next on Instagram 🔎✨",
#  'biography_with_entities': {'raw_text': "Discover what's next on Instagram 🔎✨",
#   'entities': []},

【実践】特定のInstagramアカウントのフォロワー数をチェックする

インスタアカウントのフォロワー数をチェックしたい場合、以下のコードを実行します。

# ユーザー名
user_name = "instagram"

# フォロワー取得
followers = bot.get_user_followers(user_name)

# 出力
print(user_name+"フォロワー数: "+str(len(followers)))

【実践】特定のInstagramアカウントをフォロワー名を取得する

インスタアカウントのフォロワー名を取得したい場合、以下のコードを実行します。

# ユーザー名
user_name = "instagram"

# フォロワー取得
followers = bot.get_user_followers(user_name)
print(f"フォロワー数: {len(follower_ids)}")

# フォロワーのユーザー名を取得
follower_names = [bot.get_username_from_user_id(follower) for follower in followers]

# フォロワー名を表示
print(f"フォロワー名: {follower_names}")

【参考】Instabotにログインできない場合|エラー対策

Instabot利用に際して、次のようなエラーが頻繁に報告されている印象です。以下のエラーに遭遇した場合、対処法を試してみましょう。

Instabotエラー|Key Error 「’ds_user’」

PCローカル環境でInstabotを利用する場合、ds_userというKeyエラーに遭遇する場合があります。これは、cookie.jsonファイルに原因があるようで、次のような生成されたcokie情報を除外するコードを実行した上でinstabotを利用すると、問題なくログインできるようです。

import os 
import glob
cookie_del = glob.glob("config/*cookie.json")
os.remove(cookie_del[0])

Instabotエラー|Instagram Error Challenge Required

こちらはinstabotからログインを試みた際、セキュリティ上の観点でログイン阻止された時に出現する警告エラーです。

一度インスタグラムアプリから手動でログインし、instabotでログインした旨を尋ねられるため、「正常なログイン」であることを証明すれば次回以降問題なくinstabotからログインできるようになります。

【参考】インスタグラム・その他SNSの運用効率化

当サイトではSNS運用を効率化するための方法を多数解説しています。

Instagram Graph APIを活用したインスタ運用の自動化

カテゴリ記事名
API利用手順Instagram Graph APIの使い方・認証手順・できること
API利用手順Instagram Graph APIの動作チェック
API利用手順有効期限を長期化したアクセストークン取得
インスタ運用効率化Instagramユーザー情報取得
インスタ運用効率化Instagramに投稿したメディア情報取得
インスタ運用効率化Instagramハッシュタグの検索結果取得
インスタ運用効率化Instagramに写真や動画をアップロード
インスタ運用効率化Instagramメディア・ユーザーインサイト取得

インスタグラム運用代行サービス

「面倒なSNS運用を全て代行してほしい」「質のいいフォロワーを獲得したい」「SNS経由での収益導線を強化したい」という方向けにこちらのサービスもおすすめします。

Twitter運用の効率化

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次