こんにちは、ミナピピン(@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を使って特定のアカウントの呟きを一括取得する
コメント