twitter-media-downloader について
twitter-media-downloaderは、gallery-dlを使ってX/TwitterのURLから画像や動画をダウンロードするスキルです。投稿、タイムライン、メディアページ、リストのほか、認証が必要な「いいね」やブックマークにも対応します。
主な機能
- 01画像と動画のダウンロード
- 02投稿、タイムライン、リストへの対応
- 03Cookieまたはブラウザーセッションでの認証
- 04メディア種別と件数による絞り込み
- 05ダウンロード先をJSONで出力
活用シーン
- 01単一投稿のメディア保存
- 02アカウントのメディアのアーカイブ
- 03動画または画像の選択的なダウンロード
- 04認証が必要なブックマークの取得
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bossjones/ boss-skills --skill twitter-media-downloaderインストール後、Claude Code で/twitter-media-downloaderを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtscripts/download.pyscripts/tests/conftest.pytest_download.py詳細
Twitter/X メディアダウンローダー
gallery-dl を使用して X/Twitter から画像や動画をダウンロードします。
クイックスタート
Twitter/X の URL を指定してダウンロードスクリプトを実行します。
uv run scripts/download.py "https://x.com/username" --output ./downloads
対応 URL タイプ
- 単一のツイート:
https://x.com/user/status/1234567890 - ユーザーのタイムライン:
https://x.com/username - ユーザーのメディア:
https://x.com/username/media - ユーザーの「いいね」:
https://x.com/username/likes(認証が必要です) - ブックマーク:
https://x.com/i/bookmarks(認証が必要です) - リスト:
https://x.com/i/lists/1234567890
認証
保護されたコンテンツ(「いいね」、ブックマーク、非公開アカウント)にアクセスするには、Cookie を指定します。
uv run scripts/download.py "URL" --cookies /path/to/cookies.txt
または、ブラウザーの Cookie を直接使用します(推奨)。
uv run scripts/download.py "URL" --browser firefox
注:
--browser firefoxを使用することをおすすめします。ブラウザーのセッションから Cookie が自動的に抽出されます。
よく使うオプション
| オプション | 説明 |
|---|---|
--output DIR | 出力ディレクトリ(デフォルト:./downloads) |
--cookies FILE | cookies.txt ファイルのパス |
--browser NAME | ブラウザーから Cookie を抽出します(firefox、chrome など) |
--videos-only | 動画のみをダウンロードします |
--images-only | 画像のみをダウンロードします |
--limit N | ダウンロードする項目数の上限 |
--retweets | ユーザーのタイムラインをダウンロードするときにリツイートを含めます |
--replies | ユーザーのタイムラインをダウンロードするときに返信を含めます |
--json | ダウンロードしたファイルのパスを含む構造化 JSON を出力します |
--debug | トラブルシューティング用の詳細なデバッグ出力を有効にします |
使用例
あるユーザーのすべてのメディアをダウンロードします。
uv run scripts/download.py "https://x.com/NASA" --output ./nasa_media
単一のツイートのメディアをダウンロードします。
uv run scripts/download.py "https://x.com/user/status/1234567890"
あるユーザーの動画のみをダウンロードします(上限 50 件)。
uv run scripts/download.py "https://x.com/username" --videos-only --limit 50
Firefox の Cookie を使ってブックマークをダウンロードします。
uv run scripts/download.py "https://x.com/i/bookmarks" --browser firefox
JSON 出力モード
プログラムから使用する場合(他のスキルとの連携など)は、--json を指定して構造化された出力を取得します。
uv run scripts/download.py "https://x.com/user/status/123" --json --videos-only
出力形式:
{
"files": ["/path/to/downloads/twitter_user_123_1.mp4"],
"tweet_id": "123",
"output_dir": "/path/to/downloads",
"url": "https://x.com/user/status/123",
"success": true,
"error": null
}
これは twitter-to-reel スキルで使用され、リールを作成する前に動画を自動的にダウンロードします。
出力構成
ファイルは次の命名パターンで保存されます。
{output_dir}/twitter_{username}_{tweet_id}_{num}.{ext}
トラブルシューティング
- レート制限:
--sleep 2を指定して、リクエストの間に遅延を追加します - ログインが必要:認証には
--cookiesまたは--browserを使用します - 動画が見つからない:動画をダウンロードするには yt-dlp がインストールされていることを確認します
- デバッグモード:問題を診断するため、
--debugフラグを使用して詳細な出力を取得します
コメント
Markdown 対応