Chrome Extension · MV3 · Free v1.1.0 Weibo · Sina

IMGLAB
Weibo Downloader

Weiboの全投稿から画像・動画をワンクリックで元画質のままダウンロード — weibo.com フィードと s.weibo.com 検索結果の両方に対応。透かしなし・画質劣化なし・アカウント登録不要。完全無料。

2
対応ページ
weibo.com · s.weibo.com
4
メディア形式
画像 · 動画 · ライブ · 混在
100%
元画質ダウンロード
圧縮なし
0
登録不要
完全無料
IMGLAB Weibo Downloader — Weiboフィードに注入されたダウンロードボタン
imglab-weibo-downloader.jpg
ライブデモ

フィードに直接注入されるダウンロードボタン

拡張機能はすべてのWeiboポストカードに赤い「ダウンロード」ボタンを直接注入します — ポップアップもメニューも不要。ワンクリックでそのポストの画像・動画がすべて weibo/{username}/ フォルダへ、わかりやすいファイル名で自動保存されます。

  • すべてのサムネイルに個別ダウンロードバッジ
  • ライトボックスビューアバッジ — 拡大画像を直接ダウンロード
  • ダウンロード履歴管理 — 保存済みポストに「Downloaded ✓」表示
  • セッション数・累計ダウンロード数をポップアップで確認
  • weibo.com フィードと s.weibo.com 検索結果の両方で動作
🖼️
元画質ダウンロード — 圧縮なし

すべての画像はWeiboのCDNパス /large/ を使用して元の最高解像度でダウンロードされます — 画面に表示される圧縮サムネイルではありません。9枚グリッド投稿・単独画像・混在メディア投稿すべてに対応。

🎬
HLS対応フル動画ダウンロード

動画は6段階の画質優先チェーンで解決されます — 4K対応のWeibo TV APIを含む。M3U8/HLSストリームは外部ライブラリなしでセグメントをネイティブに結合。直接MP4・HDストリーム・ライブ配信アーカイブすべて対応。

🔴
ライブフォト対応

WeiboライブフォトはJPEG静止画動画トラックの両方をダウンロードします — ホバー時に再生されるアニメーション部分も含めて保存。両ファイルが統一されたファイル名で保存されます。

🔍
検索結果ページ対応

s.weibo.com の検索カードにも完全対応。WeiboCORSの制限を、開いているweibo.comタブのコンテキスト経由でリクエストをリレーすることで回避します。

📁
スマートな自動ファイル名

ファイルは weibo/username/username-title-01.jpg 形式で保存されます。ハッシュタグのみの投稿は #hashtag をファイル名に使用。リツイート投稿はリツイーターのコメントを使用。最終フォールバックは投稿ID。

🎭
混在メディア投稿対応

画像と動画が混在する投稿(mix_media_info)に完全対応 — 投稿内の各メディアアイテムが個別に検出され、正しいファイル形式でダウンロードされます。

スマートダウンロードアーキテクチャ — weibo.com & s.weibo.com
1
MutationObserverによるボタン注入

MutationObserverがWeiboフィードを監視し、新しいポストカードがDOMに追加されるたびに検出します — 無限スクロール・ページ遷移・動的コンテンツすべてに対応。dataset.imglabInjected フラグで重複注入を防ぎながら「ダウンロード」ボタンと個別バッジを同期的に注入します。

2
投稿データ取得 — Weibo API

クリック時に GET weibo.com/ajax/statuses/show?id={postId} をセッションクッキーとXSRFトークン付きで呼び出します。weibo.comでは直接の同一オリジンfetch。s.weibo.comでは chrome.scripting.executeScript で開いているweibo.comタブへリレー — クロスオリジンリクエストに対するWeibo側のSec-Fetch-Site拒否を回避する唯一の確実な方法です。

3
メディア解決と画質選択

画像はCDNパス /large/ に解決されます。動画は6段階の優先チェーンで解決: TV API (4K) → playback_list HD → mp4_hd_url → stream_url_hd → stream_url → live replay。M3U8マスタープレイリストは解析され、最高ビットレートのストリームが自動選択されます。

4
XHR Blobフェッチ + chrome.downloads

画像はコンテンツスクリプトから XMLHttpRequest + withCredentials: true でフェッチされます — ページのブラウジングコンテキストで動作するためWeiboのCDN認証が正常に機能します。Blobは blob: URL(data: URLは使用しない)に変換され chrome.downloads + onDeterminingFilename で確実なファイル名適用を実現します。

🎬 動画ダウンロード — 6段階画質解決チェーン
1
TV API (4K)

/tv/api/component から取得し、URLテンプレートパラメータの WxH でピクセル面積順にソート。最大面積が優先 — WeiboCTV長尺コンテンツで4K解像度への唯一の経路。

2
playback_list HD

APIレスポンス playback_list[0].play_info.url から取得するWeibo自身のHD再生URL。

3
mp4_hd_url

通常の動画投稿の page_info.media_info に含まれる直接HD MP4リンク。

4
stream_url_hd

HDストリームURLフォールバック — 上位ソースが利用できない場合にほとんどの動画投稿で存在します。

5
stream_url

標準SDストリーム。ダウンロード可能な動画の最終手段として常に存在します。

6
replay_hd

ライブ配信アーカイブ(object_type === 'live')— フルHDブロードキャストを完全保存します。

⚡ M3U8 / HLS セグメント結合

多くのWeibo動画(特にWeibo TV長尺コンテンツ)はHLSストリームで配信されます。拡張機能はすべての .ts セグメントを5並列 TaskQueue でフェッチして結合 — 外部ライブラリもffmpegも不要。複数画質の並存するマスタープレイリストは解析され、最高ビットレートのストリームが自動選択されます。ボタンラベルにライブ進捗が表示: "32/96 segs"

スマートなファイル名形式
📁 Downloads / weibo / username /
🖼 username-post-caption-text-here-01.jpg
🖼 username-post-caption-text-here-02.jpg
🎬 username-post-caption-text-here-01.mp4
🖼 username-#tagA##tagB#-01.jpg
第1優先
投稿の本文テキスト — URL・ハッシュタグ・@メンションを除去 — 先頭30文字
第2優先
ハッシュタグテキストをそのまま使用 — # はWindowsとmacOSで有効なファイル名文字のため、#tagA##tagB# のようなハッシュタグのみの投稿も「unknown」にならず正しく保存されます
第3優先
投稿ID — 常に一意で、元のWeibo投稿に追跡可能
💡 リツイート投稿はリツイーターのコメントテキストを使用します(よく空になる元投稿のテキストではなく)。これにより「unknown」ファイル名の問題を防ぎます。動画カバー画像は動画ファイルと並んで _cover.jpg として保存されます。
画像個別ダウンロードバッジ

すべての画像サムネイルの右上に小さな円形ダウンロードバッジが表示されます。ホバーで表示され、クリックするとポスト全体のダウンロードを起動せずにその1枚だけをダウンロードできます。

  • URLステムマッチングで識別 — 不安定なDOMインデックス番号は使用しない
  • Weiboの「+N枚を表示」オーバーレイタイルがあっても正常動作
  • ライブフォトのSVGプレースホルダーも実際のポスター画像に正しく解決
  • ライトボックスビューア: 投稿展開時に大きなバッジへ自動切替
  • s.weibo.comビューアバッジは左右画像ナビゲーション後も持続
  • バッジ状態: 待機 → 読込中 → 完了 ✓ → エラー(クリックで再試行)

個別バッジ · 「全てダウンロード」ボタン

Weiboで表示できるものはすべてダウンロード可能
コンテンツ種別対応状況詳細
通常画像投稿(9枚グリッド) ✅ 対応 pic_infos 経由で全画像 — /large/ 元解像度
画像+動画混在投稿 ✅ 対応 mix_media_info 内の各アイテムを個別処理
動画のみの投稿 ✅ 対応 page_info.media_info + 6段階画質チェーン
ライブフォト(アニメーション) ✅ 対応 静止画と動画トラックの両方を pic.video 経由でダウンロード
Weibo TV / HLS動画 ✅ 対応 M3U8セグメント結合・マスタープレイリスト画質選択
ライブ配信アーカイブ ✅ 対応 replay_hd フィールド経由でHDリプレイ
リツイート投稿 ✅ 対応 retweeted_status からメディア取得・リツイーターコメントをスラグに使用
s.weibo.com 検索結果 ✅ 対応 executeScriptリレー経由でフル対応 — weibo.comタブを1つ開いておく必要あり
インラインライトボックスビューア ✅ 対応 展開ビューア内のバッジ・左右ナビゲーション後も持続
🔧 技術解説 — なぜ他のツールが失敗するところで動作するのか
🔐
withCredentials付きXHR

WeiboのCDN(sinaimg.cn)は Sec-Fetch-Site とセッションクッキーを検証します。コンテンツスクリプトのXHR(ページ自身のブラウジングコンテキストで動作)のみがこのチェックを通過できます。バックグラウンドfetchは403を返します。多くの競合ツールが失敗する理由がここにあります。

🌐
検索ページ用executeScriptリレー

s.weibo.comでは、sinaimg.cnは weibo.com オリジンのみ許可します。拡張機能は chrome.scripting.executeScript で開いているweibo.comタブに注入してリクエストをリレー — weibo.comオリジンとして実行され正しいクッキーとCORSが適用されます。

📎
blob: URLによるファイル名適用

ダウンロードには data: URLではなく URL.createObjectURL(blob) を使用します。blob URLのみがChromeの onDeterminingFilename イベントをトリガーします — MV3でカスタムファイル名を確実に適用できる唯一の方法です。data: URLはファイル名パラメータを無視します。

🧠
URLステムによるバッジマッチング

個別バッジは注入時にサムネイルURLからファイル名ステムを抽出してターゲットを識別します。ダウンロード時にステムをダウンロードリストと照合 — Weiboの「+N枚」オーバーレイタイルによる枚数ズレの影響を受けません。

チャンク分割Base64エンコード

大きな動画ファイルは String.fromCharCode.apply で8KBチャンク単位にBase64エンコードされます — 単純な1文字ループは大きなファイルでJSコールスタックをオーバーフローさせます。チャンク方式は4K動画セグメントを含む任意サイズのファイルを安全に処理します。

🚦
declarativeNetRequestヘッダー注入

CDNリクエスト用のRefererとOriginヘッダーはXHRコード内ではなく rules.json でネットワークレベルに注入されます。Refererはブラウザが禁止するヘッダーでありXHRでは無視されるため、declarativeNetRequestによるバイパスが必要です。

検索ページでのダウンロードに必要な1つの条件
⚠️
s.weibo.com 使用時はweibo.comタブを1つ開いておく

Weibo検索結果(s.weibo.com)からダウンロードする際、同じブラウザウィンドウに weibo.com タブが少なくとも1つ開いている必要があります。拡張機能はそのタブを通じて認証済みAPIリクエストと画像リクエストをリレーします。これはChromeのMV3拡張機能モデルの根本的な制約です — 実際のweibo.comページコンテキスト内でコードを実行せずに、weibo.comへの認証済みクロスオリジンリクエストを行う方法はありません。

weibo.com 本体での利用には追加設定は不要です。

💡 もう1つの必要条件:ダウンロードを機能させるにはChromeでWeiboアカウントにログインしている必要があります。拡張機能は既存のセッションクッキーを使用します — 認証情報を保存することはありません。
🚀 インストール — 60秒で完了
1
ChromeウェブストアからChromeに追加

上の「Chromeに追加 — 無料」をクリック。または手動インストールの場合、拡張機能を固定フォルダに解凍 — chrome://extensions/ → デベロッパーモード → パッケージ化されていない拡張機能を読み込む。

2
Weiboにログイン

ChromeでWeiboアカウントに weibo.com からログインしていることを確認してください。拡張機能はセッションを使用して画像・動画ダウンロードの認証を行います。

3
任意のWeibo投稿にアクセス

weibo.com または s.weibo.com にアクセス。メディアのある全投稿に赤い「ダウンロード」ボタンが自動表示されます。設定は不要です。

4
クリックしてダウンロード

赤いボタンをクリックして投稿内の全メディアをダウンロード。または個別の円形バッジをクリックして1枚の画像をダウンロード。ファイルは Downloads/weibo/{username}/ に保存されます。

無料 · オープン · コミュニティサポート

この拡張機能はあなたのサポートで生きています

IMGLAB Weibo Downloaderは完全無料です — 広告なし・ペイウォールなし・データ収集なし。M3U8結合・検索ページ対応・ライブフォトダウンロードなど、すべての機能はWeiboの認証システムに対して実際にデバッグする時間をかけて実現しました。

🐛
WeiboのDOM変更とCDNポリシー更新への継続的な対応
🌱
新機能:一括ダウンロード・動画画質選択・Firefoxポート
🧪
エッジケースのテスト — リツイート動画・ライブイベント・地域CDNの差異

WeiboはCDNとAPIを頻繁に変更します。拡張機能を動作させ続けるには継続的なメンテナンスが必要です。大切な画像や動画を保存できたなら — コーヒー1杯のサポートをご検討ください。

1回限り · アカウント不要 · どんな金額でも助かります · 30秒

❤️ IMGLAB が開発
Ko-fi  ·  Buy Me a Coffee  ·  [email protected]