下载 E-Hentai 存档作为 zip 文件?
浏览器 | 油猴 | 捣固猴 | 暴力猴子 |
---|---|---|---|
火狐 (56-) | 3.2 β2+ | ||
火狐 (57+) | 4.1 测试版5+ | 4.0.5054+ | 2.8.18+ |
铬合金 | 3.5.3630+ | 2.2.6+ | |
歌剧 (15+) | 3.5.3630+ | 2.1.10+ | |
野生动物园 (10.1+) (1) | 4.3.5421+ | ||
边缘 (18-) (2) | 4.2.5284+ | ||
边缘 (79+) | 4.10.6111+ | 2.12.8+ | |
傲游 | 2.1.10+ | ||
Android 版 Yandex 浏览器(3) | 4.2.5291+ | 2.2.6+ | |
奇异果浏览器(3) | 4.11+ | 2.12.8+ | |
Android 版 Firefox (68-) (3) | 不相容 | 不相容 | 2.12.8+ |
Android 版 Firefox Nightly (85+) (3)(4) | 不相容 | 4.11.6120+ | 2.12.8+ |
(1) 您必须将您的Windows 10升级至支持Edge扩展的14393。
(2) 您必须将您的 macOS 升级至 10.12.4,支持<a>
标签的download
属性。
(3) 在内存有限的手机上使用它不是一个好主意,但它可以工作,所以这取决于你。
(4) Firefox Nightly 用户需要按照以下步骤安装默认列表中没有的扩展。
从 GitHub 下载
从 GreasyFork 下载
打开 E-Hentai 画廊
找到您感兴趣的画廊
单击 E-Hentai 下载器框中的“下载存档”
喝杯咖啡
保存 Zip 文件
尖端:
检查“编号图像”以对下载图像进行编号
设置“页面范围”以选择要下载的页面
更多个性化选项可以在“设置”中找到
该脚本不会从 E-Hentai 存档下载页面下载存档,因此它不会花费您的 GP 或积分。它将获取图库的所有页面并获取其图像的 URL。然后脚本将使用GM_xmlhttpRequest
API(为了跨源)下载它们。之后,它会使用 JSZip 将它们打包为 Zip 文件,并使用 FileSaver.js 将其提供给您。
该脚本不是由官方提供的,并且不鼓励使用自动化脚本/工具,并且可能会触发限制甚至帐户禁令,请勿因任何脚本相关问题而打扰网站论坛中的任何人,并自行承担使用风险。
如果您要下载大型图库,请考虑使用 torrent(如果可用),或使用官方归档程序以获得更好、更稳定的体验,并且当图库足够老到可以使用 GP 时,成本应该接近于使用脚本。
详细规则请参见E-Hentai图片浏览限制。
如果您在 Firefox 上看到内存不足的消息,或者在 Chrome 上看到找不到文件的消息,请参阅此处的解决方案。
简而言之,建议使用“页面范围”将每个 zip 文件限制在 500 MB 以下,如果您使用的是 Chrome,请启用文件系统,或者升级您的电脑以增加 RAM。
但是,存在一些硬性限制,例如浏览器上的 2 GB Blob 对象限制和 ZIP 本身的 4 GB 大小限制。对于这种情况(和稳定性),请尝试其他工具,例如 gallery-dl。
您还可以查看 E-Hentai 图像查看限制。
大多数画廊可能都有种子可供下载。您可以使用torrent下载存档,以获得稳定的下载体验,获得奖励内容(大多数在cosplay画廊),赚取GP和信用,并减轻E-Hentai原始服务器的压力(尽管它是一个P2P网站)。
这里还有一些其他的兼容信息(其中一些可以追溯到10年前左右),这并不重要。
Tampermonkey 使用一种肮脏的方式来提供GM_xhr.response
内容(每次都将String
传输到ArrayBuffer
),因此下载图像后它会卡住 1~3 秒或更长时间(取决于您的设备)。如果您使用 Microsoft Edge,您可能经常会看到工作选项卡卡住,表示没有响应。就让它过去,什么都不做。如果你使用的是 Firefox,那么最好从这边使用 GreaseMonkey 。
冻结问题应该在 Tampermonkey 4.12.6125 中得到修复。
如果您使用的是最新的 Tampermonkey,或者收到 Tampermonkey 的“用户脚本想要访问跨域资源”的警告,请在设置页面允许全部或关闭“@connect 模式”。欲了解更多信息,请参阅此处的详细信息。
E-Hentai 现在使用hath.network
域来访问图像,并且它现在列在@connect
中,因此您无需使用最新的 Tampermonkey 进行设置。
ViolentMonkey 不支持超时、最终 URL 和下载进度。
最新的 ViolentMonkey 现在支持这些功能。
1.18中取消了单线程下载模式,如果需要,请回滚到旧版本。
不要使用旧版本,它不支持当前站点。
Dolphin 浏览器 (Android) 不支持 blob URL,因此该脚本可能无法在 Dolphin 的 Tampermonkey 中运行。
UC 浏览器(Android)不支持 blob 构造函数,因此该脚本可能无法在 UC 的 Tampermonkey 中运行。
Opera 12-不支持blob URL,如果生成为数据URL,可能会崩溃,所以不支持。
TrixIE(适用于 IE)太旧,其GM_xhr
无法处理大内容,因此不支持。
该脚本将把所有数据存储在 RAM 中,而不是 HDD 中。这将增加当前选项卡进程的内存使用量。因此,如果您没有足够的 RAM,或者存档太大(请参阅文件大小限制部分),请注意您的内存使用情况,或尝试其他下载工具。
“内存不足”问题是脚本的最大限制(事实上,“警告和限制”的所有部分都是关于RAM问题的,这里还有一个特定的内存不足标签来标记所有相关问题)。如果您遇到内存不足之类的错误,请参阅此处的解决方案。如果您经常遇到此问题,请尝试其他工具。
为了帮助我们调试,脚本会将一些日志输出到控制台(F12 -> Console)。如果发现bug,可以继续打开devtools查看并复制日志。但请注意,它可能会增加内存使用量并降低运行效率。因此,仅当您想查看输出日志时,才不要打开控制台。
(这部分有点长,看表即可)
不同的浏览器有不同的最大文件大小限制。下表显示了支持的浏览器可以处理的最大大小。
浏览器 | 最大尺寸 |
---|---|
铬56- | 500MB |
铬 57+ | 2 GB 或(总 RAM / 5) |
Chrome(带文件系统) | 1 GB / > 2GB(1.33+) |
火狐浏览器 | 2GB |
歌剧 15+ | 与 Chrome 相同 |
边缘 18- | ? |
边缘 79+ | 与 Chrome 相同 |
Safari 10.1+ | ? |
傲游 | ? |
对于Google Chrome 56-来说,多年来Blob 存储的硬性限制为500 MB 。这意味着存储中的所有文件总共不能大于 500MB,并且如果存储没有足够的可用空间来保存下一个文件,它将默默地返回一个假的Blob 实例,不会出现任何错误。同样对于 Chrome 45-, Blob.close()
没有实现(并且它已被弃用,所以现在没有浏览器支持它),所以我们当时无法立即释放那些使用过的 Blob,只能让浏览器尽快 GC 它们(并且大多数时候它不起作用)。这就是为什么这里有一个 wiki 页面可以帮助您解决这个问题。
因此,为了帮助您保存更大的文件,该脚本可以将 Zip 文件保存到File System中,这是一个已弃用的 HTML5 API,但仍然可以在 Chrome 上运行(因为 Chrome 首先引入了该标准)。使用API,您可以处理更大的文件,因为文件数据将写入您的磁盘而不是存储在Blob存储中,它的限制也足够大(磁盘可用存储的10%,最大15 GB)。但在处理文件时,文件仍然保存在RAM中,如果数据太大,Chrome也可能无法处理它们。根据我的测试,如果您只有 8 GB RAM,最大限制可能为1 GB ,但这也可能取决于您的设备。如果您有足够的 RAM,您可以使用 1.33+ 下载大于2 GB 的图库。
Chrome 57+修复了 Blob 存储的 500 MB 限制,以便它可以像文件系统一样处理 RAM 中的更大文件。它的配额仍然存在,但更大,这是基于以下限制,这里有一些示例可以更清楚地说明:
内存配额:
如果系统是 x64 并且不是 ChromeOS 或 Android,则为
2GB
Total RAM amount / 5
;磁盘配额:
Disk size / 2
(如果 ChromeOS)(用户分区磁盘大小)
Disk size / 20
(如果是 Android)否则为
Disk size / 10
。另外,如果磁盘几乎已满,我们会尝试保留至少
(in-memory quota)*2
可用磁盘空间,并相应地限制磁盘配额。
对于Firefox ,根据我们之前来自 FileSaver.js 的数据,限制为 800 MB。但根据我们的测试,您可以保存大于800 MB的文件。因此,我们认为 Firefox 的限制取决于您的设备,因为它将 Blob 存储在 RAM 中。如果您有更大的 RAM,则可以保存更大的文件。然而,你应该关心你的 RAM 使用情况,如果 Firefox 无法获得更多 RAM 来生成 Zip,它会抛出“内存不足”错误。给您一些建议,如果您使用 4 GB RAM,则不要超过 200 MB;如果您使用 8 GB RAM,请注意超过 800 MB。
Opera 15+是基于 Chromium 的浏览器,因此您可以检查其 Chromium 版本并将其与 Chrome 版本进行比较,以了解您的限制。所有其他基于 Chromium 的浏览器也可以使用此规则。
Safari 10.1+最终支持<a>
标签上的download
属性,因此您现在可以使其在 Safari 上运行。我们没有太多关于 Safari Blob 限制的数据,因此如果您使用 Safari,请注意您的 RAM 使用情况。
请在此处查看计划和进度,请注意其中一些计划可能会在一段时间内更改或删除。
您可以在 GitHub Issue 或 GreasyFork Feedback 报告错误或提供建议。英文和中文都可以吗?
英语不是我的母语,所以如果您发现任何错误,请随时告诉我=ω=
抱歉,我的代码有点乱,所以可能对您的开发有困难。我稍后会尝试优化它吗?