推特图片下载
gallery-dl 无法抓取 Twitter 内容,因为现在 Twitter(X)已经强制需要登录才能访问推文和媒体。
也就是说,从 2023 年开始,Twitter 不再允许“游客”(未登录用户)查看内容,而 gallery-dl 默认是匿名访问,因此会报这个错:
✅ 解决方法:使用你的 Twitter Cookie 实现登录访问
你只需复制你浏览器中 Twitter 登录状态下的 Cookie,然后配置到 gallery-dl,就能绕过这个限制。
🔐 步骤:获取 Twitter Cookie 并配置
① 登录你的 Twitter 账户(任意浏览器)
② 打开开发者工具(快捷键 F12 或右键 → 检查)
- 找到「应用(Application)或存储(Storage)」标签页
- 选择左侧的「Cookies」→ 选择
https://twitter.com - 找到以下两个关键字段的值:
这两个是关键的身份识别 cookie。
③ 配置 gallery-dl 的 config.json
路径是:
添加或修改如下结构:
{
"extractor": {
"twitter": {
"cookies": {
"auth_token": "你的 auth_token 值",
"ct0": "你的 ct0 值"
},
"retweets": false,
"videos": false,
"filter": "not tweet.retweet and all(image.url for image in tweet.images)"
}
},
"output": {
"base-directory": "~/Pictures/bbmasa6",
"filename": "%(date)s - %(tweet_id)s - %(num)s.%(extension)s"
}
}
你只需要将 "auth_token" 和 "ct0" 的值替换成你自己的即可(建议不要公开这些值,因为是登录凭证)。
🔁 然后重新运行命令
此时你就以登录用户身份访问 Twitter,不再报错,可以顺利下载所有原创图片推文了。
✅ 小贴士(安全建议)
- 你不必使用主账户,建议新建一个 Twitter 小号登录,提取 Cookie 使用。
auth_token有效期较长,但 Twitter 可能会不定期失效(比如更换设备或登出后),届时只需重新复制一遍 Cookie 即可。
gallery-dl 默认是串行下载,也就是一张图片一张图片地下载,当媒体数量多时确实会变得很慢。
不过虽然 gallery-dl 本身不直接支持多线程并发下载,但你可以通过以下几种方式实现近似的并行效果,大幅提升下载速度。
✅ 方法一:并发运行多个 gallery-dl 实例(最简单实用)
将任务拆分成多个 URL 或 Tweet ID 段,然后用多个终端或后台同时执行,达到并发效果。
示例
gallery-dl "https://twitter.com/bbmasa6" &
gallery-dl "https://twitter.com/bbmasa6" &
gallery-dl "https://twitter.com/bbmasa6" &
这在 gallery-dl 已启用断点续传(默认开启)的前提下效果不错,它会自动跳过已下载的内容。
✅ 方法二:使用 xargs 并发执行 Tweet 下载(更可控)
你可以先用 snscrape 获取带图 tweet 的链接列表,然后用 xargs 并发执行:
① 获取媒体推文列表
② 使用 xargs 并发执行(每次并发 4 个任务)
-
-P 4表示同时运行 4 个下载任务 -
-n 1表示每个gallery-dl实例接收 1 行(1 个 tweet 链接)
这种方式更灵活高效,适合你要批量下载几百甚至上千张图的情况。
✅ 方法三:自己写简单的 Python 并发脚本
如果你想自动化整个过程,也可以用 Python 的 concurrent.futures.ThreadPoolExecutor 来调度并发 gallery-dl 调用,我可以帮你写一个示例脚本。
❗官方情况说明
gallery-dl本身设计理念是稳定、可恢复、不重复,而非高速多线程。作者明确表示:“Download concurrency is not planned within gallery-dl itself to maintain consistency, handle rate-limiting and avoid potential data race conditions.”
但通过并行运行多个进程,你依然能绕过限制,在合理范围内大幅加速。
✅ 总结
| 方案 | 并发能力 | 易用性 | 推荐度 |
|---|---|---|---|
| 多开 gallery-dl | ✅(中) | ⭐⭐⭐⭐ | ✅ 推荐 |
xargs -P |
✅(强) | ⭐⭐⭐⭐ | ✅ 最推荐 |
| Python 多线程脚本 | ✅(高) | ⭐⭐ | 高级用法 |
| gallery-dl 原生 | ❌ | ⭐⭐⭐⭐⭐ | 稳定但慢 |
gellery-dl 支持断点下载即不会重复下载