Instagram は、個々の技術的な詳細よりもアクセスの状態が物を言うプラットフォームです。リール、ストーリーズ、IGTV、フィード動画のソースはいずれも scontent.cdninstagram.com にあり、認証に紐づいた署名付き URL の背後に置かれています。サインインの状態が、プレイヤーがどのバリアントを要求するか、どの URL が返るか、そもそも返るかどうかを決めます。ページの DOM をたどる匿名のスクレイパーが得られるのは、何も得られないか、低品質のバリアントか、サインインへのリダイレクトかのいずれかで、それはここ数週間で Instagram が何を決めたかによります。このプラットフォームは未認証のリクエストに何を返すかを継続的に変えており、だからこそ第三者の Instagram ダウンローダーは、おおむね四半期ごとに壊れたり動いたりを繰り返します。
URL の形は、手元で使える最も素早い判断材料です。何かを試す前に、どの規則が適用されるかを教えてくれるからです。/reel/ のリンクは一本の縦型動画。/p/ のリンクは一本の動画かもしれず、一枚の画像かもしれず、最大十項目が混ざったカルーセルかもしれません。/stories/ のリンクには時計が回っています。保存されたハイライトはアーカイブ済みのストーリーズで、通常のコンテンツと同じように振る舞います。人はたいてい、これらを一つのカテゴリーで一つの挙動だと思い込んでダウンローダーに手を伸ばし、その後の混乱の大半はその思い込みから生じます。
四つの中でも、ストーリーズについては最も端的に言うべきです。二十四時間を過ぎればソースは Instagram のサーバーから消えており、あなたのコンピューターに何を入れてもそれは変わりません。これは回避すべき制限ではなく、取り戻すファイルがもうどこにも残っていないということです。その内容が重要なら、許諾されたコピーを保存できる窓は、公開されている間か、作者がハイライトに追加した後です。自分のアカウントであれば、過去のストーリーズはアーカイブに残っています。
カルーセルは二番目に多い苦情の原因で、たいてい「一部しかダウンロードされなかった」という形で語られます。それは想定どおりの結果です。投稿の URL はカルーセル全体を指し、画像スライドには保存すべき動画トラックがなく、十項目のカルーセルが二つのファイルしか生まないのは正当なことです。スライドを個別に開き、出力の数を、残したかった動画スライドの数と照らし合わせてください。
最後に、Instagram では他所とは違う意味で速度が重要です。このプラットフォームは一つのセッションからの高速な連続リクエストを抑制しており、まとまったダウンロードは、まさにそれが止めようとしているスクレイピングの挙動と同じに見えます。レート制限は止まって待つべき合図であって、アカウントを切り替える合図ではありません。回避のためのアカウントの使い回しは、プラットフォームの規約に反すると同時に、実際に使っているアカウントを失う確実な方法です。