Instaloaderで発生するエラーへの解決策

Instaloaderで発生するエラーへの解決策 ツール

「インスタの投稿画像や動画をダウンロードしたい」
「Instaloaderを使っている最中にエラーが出てしまった・・・」

このような場合には、この記事の内容が参考となります。
この記事では、Instaloaderで出るエラーを解決する方法を解説しています。

本記事の内容

  • Instaloaderで発生するエラーについて
  • Instaloaderで発生するエラーへの解決策

それでは、上記に沿って解説していきます。

Instaloaderで発生するエラーについて

Instaloaderは、インスタの投稿を一括取得できるツールです。
そのInstaloaderについては、次の記事で説明しています。

そして、Instaloaderの使い方については次の記事で解説しています。

Instaloaderを使ってみれば、そのスゴさはすぐにわかります。
とても簡単にインスタの投稿データを取得できます。

APIとかスクレイピングとか、そんなモノに頼る必要はありません。
そもそも、InstagramのAPIは簡単には利用できません。

API利用の審査に通過するのは、かなり難易度が高いです。
スクレイピングに関しても、結構大変です。

だから、簡単に利用できるInstaloaderをガンガンと利用してしまいます。
しかし、そんな感じで調子に乗っているとInstagramから怒られます。

それは、ビッグボスこと新庄監督の投稿をダウンロードしている最中に起こりました。

新庄 剛志(@shinjo.freedom)
https://www.instagram.com/shinjo.freedom/

$ instaloader shinjo.freedom
・・・
[310/335] shinjo.freedom/2021-04-14_05-52-51_UTC.jpg [弱い犬ほど良く吠えるって言うけど何もしないよりマシなんだぜ…] json 
[311/335] shinjo.freedom/2021-04-12_03-52-33_UTC.jpg [自分を信じて😊👍‼️ 僕も今まさに心の底から歩いてます😁✋‼️] json 
[312/335] shinjo.freedom/2021-04-09_13-26-58_UTC.jpg [さぁ〜みんな  写真でヒトコト🤪🤪🤪‼️ どうぞ✋🙇‍♂️…] json 

HTTP redirect from https://www.instagram.com/graphql/query to https://www.instagram.com/accounts/login/?next=/graphql/query
shinjo.freedom: Redirected to login page. Use --login.

Errors or warnings occurred:
shinjo.freedom: Redirected to login page. Use --login.

「ログインしろ」

全投稿335件(2022年3月21日現在)のうち、312件を取得した段階でエラー(警告)が出ました。
エラーの内容は、簡単に言うと以下です。

Instagramは、もともと非ログインには厳しい対応をしています。
非ログインの状態であれば、投稿の詳細自体を見せてくれません。

次のようなポップアップで通行止めされてしまいます。

それと同じように、一覧も途中で見れなくなります。
次のようなローディングが出たままで進まないような状態です。

非ログインへのこれらの対応が、Instaloaderでも出たということです。

以上、Instaloaderで発生するエラーについて説明しました。
次は、Instaloaderで発生するエラーへの解決策を説明します。

Instaloaderで発生するエラーへの解決策

「ログインしろ」

Instaloaderで発生するエラーへの解決策は、上記に従うだけです。
ログインした状態でInstaloaderを利用します。

そのための方法が、次のコマンドになります。

instaloader --login=your_username shinjo.freedom

「–login=your_username」を追加しています。
「your_username」は、あなたの利用するアカウントのユーザーネームを設定します。

上記コマンドを実行すると、初回時点では次のように表示されます。

$ instaloader --login=your_username shinjo.freedom 
Session file does not exist yet - Logging in.
Enter Instagram password for your_username:

ここで、Instagramのパスワードを入力します。
パスワードの入力については、不安になる人がいると思います。

その場合は、GitHub上におけるInstaloaderの評価を見てください。

この評価に加えて、Instaloaderはソースも公開されています。
基本的に、Instaloaderが悪さをできる余地はありません。

それでも不安なら、Instaloader専用のアカウントをInstagramで取得しましょう。
Instaloaderを使う上では、その方が安全です。

無事に入力したパスワードが適切であれば、処理が進みます。

〜
[334/335] shinjo.freedom/2020-11-21_14-38-39_UTC.jpg [ツーと今日亡くなってしまったラナのバリでの思い出をずっと編…] json 
[335/335] shinjo.freedom/2020-10-12_03-33-42_UTC.jpg [もう一度言っておこう 自分の道は自分で決めるもの‼️ 凹…] shinjo.freedom/2020-10-12_03-33-42_UTC.mp4 json 
Saved session to /home/username/.config/instaloader/session-your_username.

処理は、上記のような表示で終わります。
「session-your_username」ファイルがあれば、次回以降はログインを省略できます。

イメージとしては、ブラウザにログイン情報が残るのと同じです。
では、そのまま柳田悠岐選手の投稿を取得してみましょう。

$ instaloader --login=your_username gita19881009
Loaded session from /home/username/.config/instaloader/session-your_username.
Logged in as your_username.
Stored ID 4719256000 for profile gita19881009.
〜

上記のように、「session-your_username」ファイルを利用していることが表示されます。
そして、パスワードを入力する必要はありません。

以上、Instaloaderで発生するエラーへの解決策を説明しました。

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