Greasy Fork

Greasy Fork is available in English.

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

一键下载 X/Twitter 的图片、视频和 GIF,默认设置下以用户 ID 和帖子 ID 保存。您可以自定义下载文件的文件名。在 iPhone/Android 上,通过使用 ZIP 文件,您还可以一键下载附加的媒体。下载历史也会自动保存。

当前为 2025-03-19 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
azuki_0306
评分
0 0 0
版本
1.2.0
创建于
2025-03-05
更新于
2025-03-19
大小
24.7 KB
许可证
MIT
适用于


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


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

文件以用户 ID 和帖子 ID 命名保存。对于多个媒体文件,PC 端会分别保存,而移动端则以 ZIP 文件批量下载。(视频以最高可用质量下载,图片以原始尺寸下载。)您可以通过编辑代码中的 generateFilename 函数来自定义下载文件的文件名。可用于文件名的元素包括用户 ID、用户名、帖子 ID 和发布时间。下载历史也会自动保存。

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

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

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

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

・Twitter 媒体下载(http://greasyfork.icu/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}`;



常见问题 (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.