「インスタの投稿画像や動画をダウンロードしたい」
「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で発生するエラーへの解決策を説明しました。