Instagram 用 yt-dlp コマンドジェネレーター
Instagram の投稿と reels 向けに yt-dlp コマンドを組み立てます。cookies は最初から有効です —— それなしではほとんど何も動かないからです。
Instagram にはセッションが必要
Instagram は未ログインのリクエストにほとんど何も返さないため、--cookies-from-browser は実質的に必須で、任意ではありません。コマンドを実行する前にブラウザを閉じてください。Chrome と Edge は起動中に cookies のデータベースをロックします。
カルーセル投稿は再生リストとして扱われるので、すべての項目を取るには再生リストの扱いを「再生リスト全体」にしてください。ストーリーはそのアカウントをフォローしているセッションが必要で、24 時間で消えます。
Instagram は自動アクセスをますます疑います。一度に多くを速くダウンロードしすぎたセッションは、もう一度ログインするよう求められます —— 昨日動いたコマンドが今日ログインページを返してきたら、それが合図です。メインではなく専用アカウントを使い、ときどきふだんどおりログインして cookies を新しく保ち、こういう使い方をするアカウントはコマンドをどんなに丁寧に書いてもときどきフラグを立てられると受け止めてください。それはプラットフォームの代償であって、yt-dlp のバグではありません。
投稿、reels、ハイライトは同じ extractor を通りますが、セッションごとに見えるものが違います。フォローしているアカウントの reels は問題なく落ちます。探索ページの reels は、その種のコンテンツに触れたことのないセッションにはしばしば拒まれます。ハイライト —— プロフィールに固定されたストーリーの輪 —— はそれぞれ、自分のストーリーの再生リストとして降りてきます。IGTV は引退しました。古いリンクはいまだに解決することがありますが、新しいものはどこも使っていません。
Instagram は yt-dlp が日常的に向き合うどのプラットフォームよりも強くレート制限をかけます。並列 fragment は状況を良くするのではなく悪くします。1 回に 1 項目、実行のあいだに間隔を置くのが生き残る型です。複数項目の実行が途中で失敗するのは普通のことです —— 記録ファイルと「エラーでも続行」があれば、再試行はやり直しではなく再開になります。これが重要なのは、実行が終わる頃には最初の項目の CDN リンクはだいたい期限切れで、全やり直しはメディアでなくページを取り直すことになるからです。
取り戻せないものがあります。フォローしていない非公開アカウントの投稿、24 時間を過ぎたストーリー、そしてコマンドを実行するより前に削除されたものすべて。取得したページの中の CDN リンクはすぐ切れるので、1 時間前に動いたメディア URL は今は拒まれることがあります —— 古いリンクを再試行するのでなく、投稿ページを取り直してください。この期限は「そのうち」ではなく「早めに」ダウンロードする理由でもあります。Instagram はメディアを届け続けるとは何も約束しておらず、期限は律儀に守られます。