インストール — 60秒で完了
IMGLAB Weibo Downloader はChrome拡張機能です。以下の手順に従えば1分以内にWeiboから画像・動画をダウンロードできるようになります。
製品ページの 「Chrome に追加 — 無料」 をクリック。確認ダイアログが表示されたら 「拡張機能を追加」 をクリックします。Chrome ツールバーに IMGLAB のアイコン ⚡ が表示されます。登録・アカウント・支払いは不要です。
Chromeのアドレスバーに以下を入力してEnterキーを押します:
拡張機能の管理ページが開きます。ページ右上の「デベロッパーモード」スイッチをオンにしてください。「パッケージ化されていない拡張機能を読み込む」ボタンが表示されます。
「パッケージ化されていない拡張機能を読み込む」をクリックします。フォルダ選択ダイアログが開きます。手順1で解凍したフォルダ — manifest.json ファイルが含まれているフォルダ — を選択してください。Chromeが即座に拡張機能を読み込みます。拡張機能リストに IMGLAB Weibo Downloader が表示されます。
Chromeで weibo.com にアクセスし、Weiboアカウントにログインしてください。拡張機能はあなたの既存のセッションクッキーを使用して画像・動画ダウンロードの認証を行います。認証情報を保存したり送信したりすることはありません。
401 Unauthorizedまたは空のレスポンスを返します。ダウンロードが機能しない場合はまずログイン状態を確認してください。
weibo.com にアクセスします。フィードをスクロールすると、画像または動画を含む各投稿カードに赤い「ダウンロード」ボタンが自動的に表示されます。ボタンをクリックするとその投稿の全メディアが一括ダウンロードされます。
個別の画像をダウンロードしたい場合は、サムネイル上にカーソルを合わせると表示される小さな円形バッジをクリックしてください。ファイルは Downloads/weibo/{username}/ に保存されます。
chrome://extensions/ を開き、IMGLABカードの ↺ 更新ボタンをクリックします。設定は自動的に保持されます。ダウンロードの操作方法
拡張機能には2つのダウンロード方法があります。投稿全体の一括ダウンロードと、画像1枚ずつの個別ダウンロードです。
各投稿カードのフッターアクションバー(リツイート・コメント・いいねボタンの横)に赤い「ダウンロード」ボタンが表示されます。クリックすると投稿内のすべての画像と動画が順番にダウンロードされます。
動画のM3U8処理中はボタンのラベルがセグメント進捗(例: "32/96 segs")に変わります。完了すると「○ファイル ✓」に変わります。
各画像サムネイルの右上に小さな円形ダウンロードバッジが表示されます(ホバーで表示、クリックで即時ダウンロード)。投稿全体をダウンロードせずに特定の1枚だけ保存したい場合に便利です。
ライトボックスビューア(画像を拡大表示した状態)でも専用の大きなバッジが表示され、表示中の画像をそのままダウンロードできます。左右ナビゲーション後も継続して機能します。
weibo.com のタブが1つ以上開いている必要があります。これはChromeのMV3拡張機能モデルの制約によるものです。weibo.com 本体での利用には追加設定は不要です。ボタン・バッジの状態表示
ダウンロード可能な状態。フッターボタンは「ダウンロード」と表示。サムネイルバッジは半透明の円形アイコンで、ホバー時に赤く光ります。
APIからデータ取得中またはファイルダウンロード中。フッターボタンはグレーアウトして「ダウンロード中…」と表示(M3U8動画の場合はセグメント進捗)。バッジはスピナーアニメーションになります。この間は再クリックできません。
ダウンロード成功。フッターボタンは緑色で「○ファイル ✓」と表示。次回以降の訪問時は灰色で「Downloaded ✓」と表示(履歴追跡機能)。
ダウンロード失敗。フッターボタンは赤色でエラーメッセージを表示。バッジは赤いエラーアイコンになり、クリックで再試行できます。Weiboのログアウトや通信エラーが主な原因です。
ダウンロードの技術的な仕組み
他のツールが失敗するところでなぜこの拡張機能が動作するのかを技術的に解説します。Weiboの認証システムへの対処法を理解することで、動作しない場合のトラブルシューティングにも役立ちます。
MutationObserverがWeiboのDOMを監視し、新しい投稿カードが追加されるたびに検出します。無限スクロール・ページ遷移・動的読み込みすべてに対応。dataset.imglabInjected フラグで二重注入を防ぎます。weibo.comとs.weibo.comで異なるDOM構造に対応した別々の注入ロジックを使用しています。
ボタンをクリックすると GET weibo.com/ajax/statuses/show?id={postId} をセッションクッキーと X-XSRF-TOKEN ヘッダー付きで呼び出します。weibo.com では直接の同一オリジンfetch。s.weibo.com では chrome.scripting.executeScript で開いているweibo.comタブに注入したコードが代わりにAPIを呼び出します — これがWeibo側のSec-Fetch-Site検証を通過できる唯一の確実な方法です。
画像はCDNパス /large/ に解決され元の最高解像度を取得。動画は6段階の優先チェーンで最高画質のURLを解決: TV API (4K) → playback_list HD → mp4_hd_url → stream_url_hd → stream_url → replay_hd。M3U8マスタープレイリストは BANDWIDTH= 値で解析し最高ビットレートのストリームを自動選択します。
weibo.comでの画像取得は XMLHttpRequest + withCredentials: true を使用。コンテンツスクリプトはページ自身のブラウジングコンテキストで動作するため、Weiboの sinaimg.cn CDNが要求する正しい Sec-Fetch-Site ヘッダーとセッションクッキーが自動的に付与されます。バックグラウンドのService Workerから同じリクエストを送ると403が返されます — これが多くの競合ツールが失敗する理由です。
sinaimg.cn は Access-Control-Allow-Origin: https://weibo.com を返します。s.weibo.comのコンテンツスクリプトからのXHRはオリジン不一致でCORSブロックされます。解決策: chrome.scripting.executeScript でweibo.comタブ内のコードがBlobをフェッチし、8KBチャンクに分割してBase64エンコードし、コンテンツスクリプトに返します。コンテンツスクリプト側でBlobを再構築してダウンロードします。
取得したBlobを URL.createObjectURL(blob) で blob: URLに変換し(data: URLは使用しない)、chrome.downloads.download() に渡します。Blob URLのみが onDeterminingFilename イベントをトリガーするため、カスタムファイル名 weibo/{username}/{filename} を確実に適用できます。data: URLではこのイベントが発火せず、Chromeのデフォルトファイル名(例: ダウンロード(14).jpg)になってしまいます。
対応コンテンツ種別
Weiboで表示できるメディアはほぼすべてダウンロードできます。各コンテンツ種別の技術的な処理方法を説明します。
pic_infos から全画像取得・/large/ CDNパスで元解像度
mix_media_info.items の各エントリを個別処理
page_info.media_info + 6段階画質優先チェーン
pic.video の動画トラック両方を保存
TaskQueue・マスタープレイリスト対応
object_type === 'live' の場合 replay_hd フィールドを使用
retweeted_status からメディア取得・リツイーターのコメントをファイル名スラグに使用
# は有効な文字)
ファイル名の命名ルール
投稿テキストからURL・ハッシュタグ・@メンションを除去した先頭30文字を使用。例: username-post-caption-text-01.jpg
本文が空または記号のみの場合、ハッシュタグをそのまま使用。# はWindowsとmacOSで有効なファイル名文字です。例: username-#tagA##tagB#-01.jpg
テキストが全く取得できない場合、投稿IDを使用。常に一意で元のWeibo投稿に追跡可能です。例: username-5079341827654-01.jpg
既知の制限事項
拡張機能はあなたのWeibo セッションクッキーと XSRF トークンを使用してAPIにアクセスします。未ログイン状態では 401 Forbidden または空のレスポンスが返され、ダウンロードが失敗します。
weibo.com にアクセスしてWeiboアカウントにログインしてください。s.weibo.com での操作には同じブラウザに weibo.com タブが最低1つ開いている必要があります。これはChromeのMV3モデルにおける根本的な制約です — 拡張機能がweibo.comへの認証済みリクエストを行うには実際のweibo.comページコンテキスト内でコードを実行する必要があります。
M3U8/HLSセグメント結合・4K TV API・マスタープレイリスト画質選択・ライブ配信アーカイブのコードは実装済みですが、すべての動画形式で実環境テストが完了しているわけではありません。動画が期待通りにダウンロードされない場合はコンソールログを確認してください。
[IMGLAB Weibo] のログを確認し、どの段階で問題が発生しているかを特定してください。M3U8動画は多数の .ts セグメントファイルを順次・並列でダウンロードして結合するため、直接のMP4ダウンロードより時間がかかります。5並列でダウンロードしていますが、100セグメント以上の長尺動画では数分かかる場合があります。ボタンに進捗状況(例: 32/96 segs)が表示されます。
WeiboはDOMの構造、CDNポリシー、APIのレスポンス形式を定期的に変更します。Weiboの変更によってボタンが表示されなくなったり、ダウンロードが失敗したりする場合があります。このような問題は通常、拡張機能の更新で修正されます。
投稿カードのDOM構造がWeiboのA/Bテストや地域差によって異なる場合、ボタン注入のセレクターが一致せず表示されないことがあります。特に動画投稿のフッター構造は通常投稿と異なる場合があります。
[IMGLAB Weibo] で始まるログを確認してください。APIのレスポンス、ダウンロードリストの内容、エラーメッセージが詳細に出力されています。サポート & 寄付
この拡張機能は
あなたのサポートで生きています
IMGLAB Weibo Downloader は完全無料です — 広告なし・サブスクリプションなし・データ収集なし。M3U8結合・s.weibo.com対応・ライブフォト両対応など、すべての機能はWeiboの認証システムに向き合い実際にデバッグする時間をかけて実現しました。
正直にお伝えします: WeiboはCDNとAPIを頻繁に変更します。拡張機能を動作させ続けるには継続的なメンテナンスが必要で、その工数はユーザーのサポートにかかっています。大切な画像や動画を保存できたなら — コーヒー1杯のサポートをご検討ください。
[IMGLAB Weibo] エラーを確認してください。weibo.com を開き直してログイン状態を確認してから再試行してください。weibo.com のタブが必要です。weibo.com を別タブで開いてから再試行してください。
