mcpField
T
twitter-media-downloader

twitter-media-downloader

github.com/bossjones创意与媒体259 次安装8 周前更新
代码仓库

关于 twitter-media-downloader

twitter-media-downloader 是通过 gallery-dl 从 X/Twitter 链接下载图片和视频的技能。它支持帖子、时间线、媒体页、列表,以及需认证的喜欢内容或书签,并提供筛选和 JSON 输出。

主要功能

  1. 01下载图片和视频
  2. 02处理帖子、时间线和列表
  3. 03使用 Cookie 或浏览器会话认证
  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

身份验证

对于受保护的内容(点赞、书签、私密账号),请提供 cookies:

uv run scripts/download.py "URL" --cookies /path/to/cookies.txt

或者直接使用浏览器 cookies(推荐):

uv run scripts/download.py "URL" --browser firefox

注意:建议使用 --browser firefox,它会自动从浏览器会话中提取 cookies。

常用选项

选项说明
--output DIR输出目录(默认:./downloads)
--cookies FILEcookies.txt 文件的路径
--browser NAME从浏览器提取 cookies(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 cookies 下载书签:

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