gallery-dlでTwitter / Xを使う方法
このガイドでは、Xのプロフィールや投稿URLを安全にテストし、ローカルのブラウザCookieを使い、保存先と重複防止を設定し、認証エラーやレート制限を切り分ける手順を説明します。
x.comのURLを引用符で囲み、まず--simulateを付けます。認証済みCookieを求められたら、自分が管理するブラウザプロファイルを--cookies-from-browserで指定します。小さなテストが成功してから、固定したダウンロードアーカイブを追加してください。
ダウンロード前にTwitter URLをテストする
gallery-dlのTwitter / Xエクストラクターは、単一の投稿、ユーザーの/mediaページ、タイムライン、いいね、ブックマーク、リスト、検索など複数のURL形式を認識します。最初は公開投稿かプロフィールのメディアページを使い、ブラウザから正規のx.com URLをコピーして引用符で囲み、ファイルを書き込む前にシミュレーションを実行します。
シミュレーションでは、インストール済みバージョンが十分新しいか、URLが意図したエクストラクターに割り当てられるか、ログインが必要か、どのファイルが選択されるかを確認できます。タイムラインにはリポスト、返信、引用、動画、重複メディアが混在するため、URLが認識されても既定の範囲が目的に合うとは限りません。
gallery-dl --simulate "https://x.com/USERNAME/status/POST_ID"gallery-dl --simulate "https://x.com/USERNAME/media"gallery-dl -K "https://x.com/USERNAME/status/POST_ID"USERNAMEとPOST_IDは、閲覧権限のある実際のURLに置き換えてください。
繰り返し実行できるTwitter保存ジョブを作る
シミュレーションが成功したら、分かりやすい保存先とダウンロードアーカイブを設定します。アーカイブは正常に保存したエクストラクターIDを記録し、後の実行で同じ項目をスキップします。最初の実ダウンロードは小さな範囲に限定し、フォルダ構成、ファイル名、画像と動画の選択を確認してから範囲を広げてください。
Twitterエクストラクターは、返信、リポスト、引用投稿、カード、記事、プレビュー、テキストのみの投稿、動画などを含めるか除外するか設定できます。既定値はバージョンで変わる可能性があります。ファイル名やフィルターを作る前に-Kでフィールドを確認し、定期ジョブでは同じアーカイブを維持し、プロファイル名や秘密のパスを共有しないでください。
gallery-dl --cookies-from-browser firefox --range "1-25" --download-archive "twitter.sqlite3" "https://x.com/USERNAME/media"gallery-dl --destination "D:/Media/X" --download-archive "twitter.sqlite3" "https://x.com/USERNAME/media"gallery-dl --write-metadata --download-archive "twitter.sqlite3" "https://x.com/USERNAME/media"| 目的 | オプション | 確認できること |
|---|---|---|
| ファイルなしで確認 | --simulate | エクストラクター、アクセス、選択範囲 |
| 最初の件数を制限 | --range 1-25 | 保存結果を短時間で確認 |
| 重複を防止 | --download-archive FILE | 完了済みIDを継続して記録 |
| ローカルログインを利用 | --cookies-from-browser BROWSER | 自分のブラウザプロファイルを読む |
| 利用可能な項目を確認 | -K URL | 名前やフィルター用のメタデータ |
Twitter / X向けgallery-dl設定
コマンドラインで動作を確認してから、安定した項目だけを設定ファイルへ移します。公式サンプルにはinclude、replies、retweets、quoted、videos、画像サイズ、API再試行、レート制限の処理などがあります。すべてをコピーするより、目的に必要な小さなブロックをレビューして使う方が変更点を追いやすくなります。
次の例は動画を有効にし、返信、リポスト、引用を除外し、制限時には待機し、固定アーカイブを使います。複数のPCで異なるプロファイルを使う場合、Cookie指定はコマンド側に残しても構いません。JSONではコメント、末尾カンマ、エスケープされていないWindowsのバックスラッシュを使えません。
{
"extractor": {
"twitter": {
"replies": false,
"retweets": false,
"quoted": false,
"videos": true,
"ratelimit": "wait",
"archive": "D:/gallery-dl/twitter.sqlite3"
}
}
}gallery-dl --config-ignore --simulate "https://x.com/USERNAME/media"gallery-dl --config-statusgallery-dlのTwitterエラーを解決する
認証、レート制限、空の結果、重複スキップは別の問題として扱います。AuthRequiredはCookieがないか期限切れの可能性が高く、HTTP 429は短時間に再試行せず待機すべき状態です。結果が空の場合は、URL形式、閲覧権限、厳しすぎる設定やフィルター、すでにIDを含むアーカイブを確認します。
--config-ignoreを付けたクリーンなシミュレーションと通常設定を比較し、Cookie、範囲、アーカイブ、フィルターを一つずつ追加します。gallery-dlは元のインストール方法で更新し、バージョンを確認してください。X側の変更が疑われる場合、連続再試行ではなく公式のissueやエクストラクター更新状況を確認します。
| 症状 | 最初の確認 | 安全な次の手順 |
|---|---|---|
| 認証Cookieが必要 | 選択したプロファイルでページを開く | 通常ログインを更新して再シミュレーション |
| HTTP 429 | ratelimitと再試行を確認 | 並列ループを避けて待つ |
| ファイルが選ばれない | フィルターなしで--config-ignore | URL、権限、エクストラクターを確認 |
| すべてスキップ | アーカイブのパスを確認 | 診断時だけ一時アーカイブを試す |
| 返信やリポストが混ざる | Twitter設定を確認 | replies、retweets、quotedを明示 |
大量保存の前に制限と権利を確認する
gallery-dlはローカルダウンローダーであり、利用許可を与える仕組みではありません。正当にアクセスし利用できるメディアだけを保存し、プライバシー、著作権、適用される規約と法律を守ってください。Cookie、トークン、非公開アーカイブ、取得した個人データを共有しないでください。
2026年7月30日、このサイトは公式PyPIメタデータでgallery-dl 1.32.8を確認し、Codebergの公式Windows版とLinux版がHTTP 200、想定されたファイル名とサイズで応答することを確認しました。Xの仕様は変わるため、動作が変わったら公式リリースとドキュメントを再確認してください。
gallery-dl Twitter / X よくある質問
gallery-dlはTwitter / Xに対応していますか?
はい。投稿、メディアページ、タイムライン、いいね、ブックマーク、リスト、検索など複数のURLを認識します。対象URLを必ずシミュレーションしてください。
なぜ認証済みCookieが必要ですか?
Xが匿名アクセスを制限するためです。自分のブラウザで通常ログインし、同じプロファイルを--cookies-from-browserで指定します。
1アカウントのメディアだけを保存するには?
/media URLから始め、シミュレーション後に小さな範囲を保存して結果を確認します。
重複を防ぐ方法は?
固定した--download-archiveを使うと、gallery-dlが完了済みIDを記録して後の実行で除外します。
レート制限が出たら?
ratelimitの待機を使い、連続要求や並列再試行を避けます。新しいリリースや修正が必要な場合もあります。
設定ファイルを共有できますか?
Cookieパス、プロファイル名、アカウント、非公開URL、アーカイブ、トークンを削除した内容だけを共有してください。