X/Twitter 媒体批量下载器 (支持 iPhone/Android)

一键下载 X/Twitter 的图片、视频和 GIF,默认设置下以用户 ID 和帖子 ID 保存。您可以自定义下载文件的文件名。在 iPhone/Android 上,通过使用 ZIP 文件,您还可以一键下载附加的媒体。下载历史记录与书签同步。此外,可以选择利用 X/Twitter 的书签功能来实现在线同步下载历史记录。

作者
azuki_0306
日安装量
10
总安装量
306
评分
6 0 0
版本
1.3.1
创建于
2025-03-05
更新于
2025-04-02
大小
35.5 KB
许可证
MIT
适用于


X/Twitter 媒体批量下载器(支持 iPhone/Android)用户指南


此脚本是一款工具,可让您一键下载 X/Twitter 上的图片、视频和 GIF。

文件以用户 ID 和帖子 ID 命名保存。对于多个媒体文件,PC 端会分别保存,而移动端则以 ZIP 文件批量下载。(视频以最高可用质量下载,图片以原始尺寸下载。)您可以通过编辑代码中的 generateFilename 函数来自定义下载文件的文件名。可用于文件名的元素包括用户 ID,用户名,帖子 ID 和发布时间。下载历史也会自动保存。此外,可以选择利用 X/Twitter 的书签功能来实现在线同步下载历史记录。

本页底部附有实际的下载按钮图片。

只要使用最新的浏览器,无论在 PC 端还是移动端均可正常使用。

此脚本基于以下两个脚本:

・Twitter/X(网页版)视频/原始图片/gif一键下载.[limbopro](https://gf.qytechs.cn/zh-CN/scripts/478651

・Twitter 媒体下载(https://gf.qytechs.cn/zh-CN/scripts/423001



使用说明

适用于 Windows/Mac

  1. 脚本安装:

    在浏览器中添加 Tampermonkey 并安装此脚本。

  2. 在浏览器中打开 X/Twitter 并显示您想下载的推文。

  3. 点击分享按钮旁的下载按钮,即可分别保存每个媒体文件。

适用于 iPhone/iPad

  1. 脚本安装:

    从 App Store 下载 Userscripts 应用(链接),并在 Safari 中安装此脚本。

  2. 在 iOS 设备上,进入 设置 → 应用 → Safari → 下载,查看下载的媒体保存到哪个文件夹。默认情况下,文件保存在 iCloud Drive 的 “Downloads” 文件夹中,但您可以更改此位置。

  3. 在 Safari 中打开 X/Twitter 并显示您想下载的推文。

  4. 点击分享按钮旁的下载按钮;行为取决于媒体文件数量:

        • 如果只有一个媒体文件,则以原始格式下载。

        • 如果有多个媒体文件,则以 ZIP 文件形式下载。

  5. 对于包含多个媒体的 ZIP 文件,您可以使用我们提供的快捷方式轻松解压并保存。(请参阅下面的补充说明部分。)

    获取快捷方式

适用于 Android

  1. 脚本安装:

    在支持扩展的浏览器(如 Edge Canary、Firefox 等)中添加 Tampermonkey 并安装此脚本。

  2. 在已安装脚本的浏览器中打开 X/Twitter 并显示您想下载的推文。

  3. 点击分享按钮旁的下载按钮;行为取决于媒体文件数量:

        • 如果只有一个媒体文件,则以原始格式下载。

        • 如果有多个媒体文件,则以 ZIP 文件形式下载。

  4. 下载的 ZIP 文件可以使用默认的文件管理器或第三方应用进行解压。



补充说明

如何使用 iPhone/iPad 快捷方式


当包含多个媒体文件的 ZIP 文件被下载后,您可以使用我们专为 iPhone/iPad 提供的快捷方式轻松解压并整理这些媒体文件。请按照以下步骤操作:

  1. 此链接获取快捷方式,并将其添加到您 iPhone/iPad 上的 “快捷方式” 应用中。

  2. 首次运行该快捷方式时,系统会提示您选择下载的 ZIP 文件所在的文件夹。请选择 iPhone/iPad 使用说明第 2 步中指定的文件夹。默认情况下,会选择 iCloud Drive 中的 “Downloads” 文件夹。如果您已更改下载文件夹,请在此选择相应的文件夹。

  3. 接下来,系统会提示您选择解压后的媒体文件保存位置。通常,请选择与 ZIP 文件存储位置相同的文件夹。

  4. 快捷方式将自动解压 ZIP 文件,并将每个媒体文件保存到前一步指定的文件夹中。如果该文件夹中已存在文件,则不会覆盖,并会显示这些文件的列表。

  5. 解压完成后,系统会询问您是否删除 ZIP 文件,请按需选择。

从此以后,每次运行该快捷方式都会自动解压并保存下载的 ZIP 文件。

※ 快捷方式的设置可根据需要自定义。详细说明请参阅快捷方式内的解释。

如何更改下载文件的名称

您可以任意更改下载文件的名称,使用用户ID、用户名、帖子ID和发布时间。要更改名称,请编辑代码中的 generateFilename 函数。您也可以更改发布时间的格式。有关详细信息,请查看 dayjs 的参考文档。下面显示了默认设置和其他示例。

默认:使用用户ID和帖子ID的名称
return `${userId}_${postId}-${mediaTypeLabel}${index}.${ext}`;

例1:使用用户ID、帖子ID和发布时间的名称(YYYYMMDD_HHmmss 格式)
const formattedPostTime = dayjs(postTime).format('YYYYMMDD_HHmmss');
return `${userId}_${postId}-${formattedPostTime}-${mediaTypeLabel}${index}.${ext}`;

例2:使用用户名、帖子ID和发布日期的名称(YYYYMMDD 格式)
const formattedPostTime = dayjs(postTime).format('YYYYMMDD');
return `${userName}_${postId}-${formattedPostTime}-${mediaTypeLabel}${index}.${ext}`;

关于通过书签同步在线下载历史记录

此脚本提供一个可选功能,可以使用 X/Twitter 的书签功能在线同步您的下载历史记录。

  • 如何启用: 请将代码中的 enableDownloadHistorykSync 的值从 false 更改为 true
  • 工作原理:
    • 启用后,您下载了媒体的帖子将自动添加到您的 X/Twitter 书签中。
    • 已存在于您书签中的帖子将被视为“已下载”。这些帖子的下载按钮将显示完成状态,以防止重复下载。
    • 这使您可以通过书签,在多个设备(如电脑和智能手机)及不同浏览器之间共享和同步您已下载帖子的历史记录。
  • 默认设置: 默认情况下(false),此功能是禁用的。下载历史记录不会在线同步,仅存储在您浏览器的本地存储(IndexedDB)中。


常见问题 (FAQ)

Q: 如果下载按钮没有出现,我该怎么办?

A: 请尝试刷新页面、清除缓存,或确保您正在使用最新版本的浏览器。

Q: 我不知道如何解压 ZIP 文件。

A: 在 iPhone/iPad 上,您可以使用提供的快捷方式或文件管理应用解压;在 Android 上,您可以使用内置的文件管理器解压 ZIP 文件。

Q: 如果下载过程中出现错误,我该怎么办?

A: 请检查您的网络环境,或注意 X/Twitter 的规格可能已更改。稍后再试。

Q: 多个媒体文件下载与单个下载哪个优先?

A: 如果只有一个媒体文件,则会单独下载;如果有多个文件,则会根据操作系统的不同,以批量 ZIP 文件或单独下载的方式进行。

Q: 如何在 iPhone 上编辑代码?

A: 可以使用第三方应用程序进行编辑。例如,您可以使用名为 Documents 的应用程序(链接)。

Q: 如何清除下载历史记录?

A: 请使用浏览器的开发者工具删除IndexedDB中的DownloadHistoryDB。如果无法做到这一点,例如在移动浏览器等情况下,请从浏览器设置中清除站点数据。

Q: 如果遇到问题或有疑问,我该怎么办?

A: 请通过本页的反馈部分报告。



许可协议


此脚本采用 MIT 许可协议发布。

详情请查阅 MIT License



© 2025 Azuki. All rights reserved.


QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址