Python プログラミング

【Python】インスタグラムの画像取得をAPIで自動化する

この記事は約4分で読めます。

 

こんにちは、ミナピピン(@python_mllover)です!

 

今回はインスタグラムの投稿をPythonで自動化する方法について調べた結果をメモ代わりに共有したいと思います!

 

インスタグラムのAPIについて

 

インスタグラムはTwitterやラインと違って公式にはAPIを提供していませんが有志の方がアプリでの通信を解析して、APIを作成してくれています。

 

Github:https://github.com/ping/instagram_private_api

 

 

# ライブラリのインストール
$ pip install git+https://git@github.com/ping/instagram_private_api.git@1.6.0

 

 

ライブラリの自動更新&初期設定

 

import sys
import subprocess
from instagram_private_api import Client, ClientCompatPatch

def install_module(module: str, ver: str = None, update:bool = False):
    
    if bool:
        try:
            command = f"pip install {module} --upgrade"
            subprocess.call(command, shell=True)
        except Exception:
            sys.exit(-1)
    else:
	    # バージョンの指定がある場合はオプションを付け足す
	    if ver is not None:
	        ver = f"=={ver}"
	    else:
	        ver = ""
	    

	    # インストール作業を行う
	    try:
	        command = f"pip install {module}{ver}"
	        subprocess.call(command, shell=True)
	    except Exception:
	        sys.exit(-1)

install_module("instagram_private_api",ver=None,update=True)


user_name = 'ユーザー名'
password = 'パスワード'

# インスタンス作成
api = Client(user_name, password)


 

関連記事:【Python】subprocessでPython上からコマンドを実行する

 

 

スポンサーリンク
スポンサーリンク

画像を投稿する

 

gitのIssueで問題として挙がっていましたがどうやら今のところ画像やビデオのアップロードは非推奨みたいで、ドキュメントにある関数を実行してもエラーで動きません。ちょっとアプリのプライベートAPIの解析は自分はできないので完全にお手上げです。

 

タイムラインを取得する

 

results = api.feed_timeline()

 

終わり

 

イイねだったり画像収集には使えそうですが、投稿できないのが痛いです。。。

 

 

参考:https://qiita.com/fuji_syan/items/a2b5d6c13476cdd3d45e

 

関連記事:【Python】youtube-dlでmp4/mp3をYoutubeからダウンロードする

関連記事:【Python】TwitterのAPIを使って特定のアカウントの呟きを一括取得する

 

 

 

 

 

コメント

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