mcpField
T
twitter-media-downloader

twitter-media-downloader

github.com/bossjonesクリエイティブ・メディア259 回インストール8 週間前に更新
リポジトリ

twitter-media-downloader について

twitter-media-downloaderは、gallery-dlを使ってX/TwitterのURLから画像や動画をダウンロードするスキルです。投稿、タイムライン、メディアページ、リストのほか、認証が必要な「いいね」やブックマークにも対応します。

主な機能

  1. 01画像と動画のダウンロード
  2. 02投稿、タイムライン、リストへの対応
  3. 03Cookieまたはブラウザーセッションでの認証
  4. 04メディア種別と件数による絞り込み
  5. 05ダウンロード先をJSONで出力

活用シーン

  1. 01単一投稿のメディア保存
  2. 02アカウントのメディアのアーカイブ
  3. 03動画または画像の選択的なダウンロード
  4. 04認証が必要なブックマークの取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bossjones/boss-skills --skill twitter-media-downloader

インストール後、Claude Code で/twitter-media-downloaderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.txt
scripts/
download.py
scripts/tests/
conftest.py
test_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 FILEcookies.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 フラグを使用して詳細な出力を取得します

コメント