PixivBatchDownloader

Chrome 扩展,批量下载 Pixiv 的插画和小说。过滤作品、下载时重命名、转换动态图片等。Powerful Pixiv batch downloader. Batch download artworks and novels, filter works, rename when downloading, convert animated images, and more.

GPL-3.0 License

Stars
3.6K

Bot releases are visible (Hide)

PixivBatchDownloader - 16.1.2

Published by xuejianxianzun about 1 year ago

🐛修复了“显示更大的缩略图”的一些问题

PixivBatchDownloader - 16.1.1

Published by xuejianxianzun about 1 year ago

🐛修复了慢速抓取功能导致时间范围的优化策略失效的问题

PixivBatchDownloader - 16.1.0

Published by xuejianxianzun about 1 year ago

✨新增设置项:在多图作品页面里,显示缩略图列表

这个功能很早就有了,就是多图作品页面里,大图下方显示的一横排缩略图列表。只是以前不能关闭,现在加了个开关可以关闭了。

🐛修复了“显示更大的缩略图”的一些问题

修复了在作品页面内收藏作品后,显示的“推荐作品”的图片无法完全显示的问题。现在将其保持为原大小。

🕑更新了作品发布时间数据

PixivBatchDownloader - 16.0.4

Published by xuejianxianzun about 1 year ago

🐛修复了一个提示可能意外出现的问题

上版本增加的提示 可能发生了错误。请刷新页面重试 可能会意外出现,并且日志里可能会多次出现。现在修复此问题。

PixivBatchDownloader - 16.0.3

Published by xuejianxianzun about 1 year ago

修复了“显示更大的缩略图”的一些问题

  1. 修复了缩略图没有完全显示的问题(之前固定了最大宽度,导致图片两侧可能被裁切)
  2. 修复了首页“推荐作品”显示不全的问题(之前没有让里面的元素换行,所以只显示了一行)
  3. 修复了点击顶部的搜索框,下拉区域里的大图错乱的问题。这里容器固定了宽高,如果显示大图的话只能显示出一部分

尝试检测正常下载时卡住的情况

https://github.com/xuejianxianzun/PixivBatchDownloader/issues/338

下载时进度条卡住,有多种可能的原因,有一种可能情况似乎是 Chrome 自己的下载管理功能出问题了,这种情况下它不会向前台脚本返回信息,所以进度会卡住。

尝试检测这种情况:向浏览器发送下载后 3 秒如果没有收到回应,就提示刷新页面重试。

更新了作品发布时间数据

其他

增加了一个隐藏命令 ppdtask3,输入命令可以打开所有的测试页面,目前共 21 个页面。

PixivBatchDownloader - 16.0.2

Published by xuejianxianzun about 1 year ago

修复了“显示更大的缩略图”失效的问题

PixivBatchDownloader - 16.0.1

Published by xuejianxianzun about 1 year ago

修复了一些用户在批量关注用户时,遇到 400 错误的问题

有些用户在添加关注时需要附带一个特殊的 token,如果缺少就会导致 400 错误。

下载器无法解决此问题,目前使用 iframe 方法模拟点击来关注用户。此方法存在如下问题:

  1. 内存占用大,添加到 120 个左右就可能导致 Out of Memory。
  2. 在超出内存之前就很容易因为 fetch 被取消而导致页面卡死。
  3. 花费的时间比较久。

详情参见:notes\recaptcha_enterprise_score_token 添加关注的用户时的验证码.md

为了解决遇到的一些问题,花了很长时间。

其他优化

批量关注用户时,添加 1000 个关注之后下载器会自动停止,以免用户被 Pixiv 封号。

详情参见:notes\批量关注用户太频繁导致账户被封禁限制.md

修复了一些页面里,显示更大的缩略图异常的问题

Pixiv 原本的中间区域不是全宽的,显示更大的缩略图功能会加宽。

最近在首页和其他某些页面里加宽或放大图片失效了,现在修复。

更新了作品发布时间数据

PixivBatchDownloader - 16.0.0

Published by xuejianxianzun over 1 year ago

新增功能:导出关注的用户列表(JSON)

在你或其他用户的 Following 页面里,你可以导出关注的用户列表。

新增功能:批量关注用户(JSON)

选择“导出关注的用户列表(JSON)”生成的 JSON 文件,下载器会读取里面的用户列表,然后关注他们。


这两个功能是搭配使用的。你可以先导出,然后导入来批量关注用户。

当你有多个帐户时,可以使用这个方法同步你关注的用户列表。

你也可以复制其他用户的关注用户列表。

注意:
下载器在批量关注用户时,会设置时间间隔以避免因 429 错误导致关注失败,但是这不能百分百避免 429 错误。如果执行完毕后,你发现已关注数量少于预期,可以再次导入列表以进行批量关注。

批量关注之前,下载器或先获取一遍你的关注列表,已经关注过的就不需要重复发送关注请求了,节约时间。

新增功能:导出与导入 ID 列表

除非你明白自己的目的,否则不应使用这个功能。

这是为了解决 429 问题进行的尝试,因为未登录时不会触发 429 错误,所以可以退出登录然后高速抓取。但是它有很大的局限,不是完美的。

这个方法的操作步骤如下:

  1. 在“更多”-“下载”里开启设置项“获取 ID 列表完毕后导出它,并停止抓取”
  2. 开始抓取,当获取到全部 ID 列表后,下载器会导出一个 JSON 文件,并停止抓取
  3. 退出登录(或使用另一个未登录 Pixiv 的浏览器),然后打开 Pixiv 首页
  4. 点击“导入 ID 列表”按钮,即可进行高速抓取。

局限:

  1. 因为未登录,对于插画作品,不仅无法抓取到 R18(G) 作品的数据,就算不是 R18(G) 但是有少许色情元素的作品也不能抓取。(sl 值为 4 或 6 的,或 R18 的,返回数据里的 urls 都是 null,无法获取到图片网址)。只能获取到普通且健全的作品的数据。
  2. 因为未登录,对于小说作品,无法抓取到 R18(G) 作品的数据(404)。普通作品都可以抓取。
  3. 因为未登录,所以无法检查作品的收藏状态,不能使用“收藏状态”过滤选项。
  4. 因为未登录,你在 Pixiv 账户设置里的屏蔽(Mute)用户或标签的功能也不会生效。

适用场景:

  • 适合要抓取的作品全部是普通(全年龄)并且没有色情元素的作品时使用。特别是抓取全年龄小说时最合适。
  • 适合大量抓取时使用。少量抓取(几百个)的话没必要用这个方法。
  • 不能检查收藏状态,也不能使用“下载后收藏”功能。

控制导出的 JSON 文件的体积小于 512 MB

当下载器的抓取结果很多时,导出的 JSON 文件的体积可能大于 512MB,这会导致导入到下载器时失败。

现在下载器导出的 JSON 文件体积上限是 500 MB。如果总数据量超过这个体积,就拆分成多个文件。

用户未登录时不获取屏蔽设置(Mute)

之前如果用户未登录,下载器获取屏蔽设置(Mute)会失败(401)),并且 Mute 模块会抛出错误导致抓取中止。

现在下载器会检查用户是否登录,如果未登录则不会获取屏蔽设置。

而且即使请求发生错误,下载器也可以继续抓取。

“显示更大的缩略图”功能改为默认开启

这个功能开启后会导致首页“关注用户・好P友的作品”区域的横向滚动出现异常,发现页面里似乎也有同样问题,其他地方没有问题。

之前因为上述问题,这个功能是默认关闭的,现在改为默认开启。

更新了作品发布时间数据

PixivBatchDownloader - 15.9.0

Published by xuejianxianzun over 1 year ago

添加了“停止抓取”按钮

当用户点击“开始抓取”按钮后,“停止抓取”按钮会显示出来。点击它就可以停止抓取。

如果点击时已有抓取到的作品,则会保留此时的抓取结果以供下载。

添加屏蔽设置(Mute)的提示

在这里可以看到用户屏蔽的标签和用户:

https://www.pixiv.net/setting_mute.php

下载器会检查这里的设置,但是之前没有在日志上显示提示,现在会提示里面的屏蔽设置(如果有)。

修复了下载小说内嵌图片时的 bug

小说里一张内嵌插图被多次调用时(也就是重复出现时),下载器生成的 EPUB 文件里只会把第一次调用替换为图片。现在可以把后面的调用也替换为图片了。

https://github.com/xuejianxianzun/PixivBatchDownloader/issues/334

修复了手动选择作品时无法点击收藏按钮(红心)的问题

在搜索页面预览抓取结果时,始终按收藏数量排序

当处于搜索页面,并且启用了“预览搜索页面的筛选结果”时,不使用“文件下载顺序”里的排序结果,而是始终按收藏数量排序。

更新了作品发布时间数据

PixivBatchDownloader - 15.8.0

Published by xuejianxianzun over 1 year ago

优化:批量收藏作品时减慢速度,以减少 429 错误发生的概率

短时间内添加大量的收藏也会引起 429 错误。下载器在一些情况下会批量添加收藏,之前没有在收藏之间添加间隔,容易引发 429 错误,现在添加了慢速收藏机制,每 2 秒发起一个收藏请求。

优化:当翻译后的标签是英文时,优先使用原标签

https://github.com/xuejianxianzun/PixivBatchDownloader/issues/313

Pixiv 会把有些中文标签翻译为英文,这导致用户使用 {tags_transl_only} 保存翻译后的标签时,反而会得到英文,例如:

原神 Genshin Impact
神里綾華 Ayaka Kamisato
八重神子 Guuji Yae
明日方舟 Arknights
史尔特尔 Surtr

现在进行了优化,如果中文标签被翻译成了英文,那么下载器会保存中文标签。

优化移动端界面

在一些宽度较小的手机上,下载器的按钮不能并排,现在改成可以并排 2 个。

可以应用搜索页面的 AI 过滤条件

Pixiv 在搜索页面的过滤条件中添加了 “AI 作品”设置,查询字符串名字是 ai_type,如果 ai_type=1 则表示隐藏 AI 作品。
现在下载器在抓取时可以应用此过滤条件了。

修复 bug

PixivBatchDownloader - 15.7.0

Published by xuejianxianzun over 1 year ago

优化了在移动端浏览器的使用体验

之前下载器在移动端浏览器(如 Kiwi 浏览器)上使用时,有些功能不能正常使用,而且下载器的界面也不能完整显示。

现在修复了这些问题。

具体可以查看 notes/对移动端浏览器进行优化.md

更新了作品发布时间数据

PixivBatchDownloader - 15.6.2

Published by xuejianxianzun over 1 year ago

修复一些用户的“高亮关注的用户”显示效果异常的 bug

一些用户的 pixiv 页面处于夜间模式时,被高亮的用户名可能同时具有黄色背景和黄色字体颜色。

这是错误的,此时不应该具有黄色背景。

原因是下载器之前依赖 html 标签上的特定属性来判断页面处于普通模式还是夜间模式,但是现在我发现当 html 标签上没有任何属性时,既有可能是普通模式,也有可能是夜间模式。所以有时候下载器设置的高亮效果就会出现错误。

现在下载器在 html 标签上添加了自定义的属性,解决了判断不准确的问题,修复了这个 bug。

PixivBatchDownloader - 15.6.1

Published by xuejianxianzun over 1 year ago

新增功能:高亮关注的用户

你关注(Following)的用户的名字会具有黄色背景,或者显示为黄色(这取决于你是否开启了 Pixiv 的夜间模式)。

这便于你确认自己是否关注了某个用户。

这个功能默认开启。

你可以在“更多”选项卡的“增强”分类里找到它。
9@LFJHVVS0JU IY7 CZA1D1
SD$1G10GULJ3SCP_9Q( RT6

更新了作品发布时间数据

PixivBatchDownloader - 15.5.0

Published by xuejianxianzun over 1 year ago

新增设置:标签分隔符号

https://github.com/xuejianxianzun/PixivBatchDownloader/pull/309

在“更多”选项卡的“命名”分类里添加了这个设置。

下载器默认使用 , 分割标签,如 tag1,tag2,tag3。现在你可以自定义文件名中使用的标签分隔符号,以替换默认的 ,

这里不仅可以设置为单个字符,也可以设置为多个字符(如果你有需要的话)。

修复了作品标题中的异常字符导致文件无法自动保存的 bug

https://github.com/xuejianxianzun/PixivBatchDownloader/issues/306

https://www.pixiv.net/novel/show.php?id=15066191

这个小说标题里的“上”后面含有一个特殊的字符 \u0000,导致下载器保存文件时出现问题,浏览器弹出另存为对话框,并把文件名从这个特殊字符截断。

现在修复此问题。

PixivBatchDownloader - 15.4.1

Published by xuejianxianzun over 1 year ago

新增功能:预览作品时,按快捷键 C 下载当前显示的这张图片

之前用户在预览作品时,可以按快捷键 D 下载这个作品。

但是一个作品可能有多张图片,用户有时只想下载预览的这张图片(例如:这个作品的第 2 张图片),而不是下载作品里的所有图片。

现在可以按快捷键 C 只下载当前显示的图片。

导出、导入、清除下载记录时会显示进度

更新了作品发布时间数据

PixivBatchDownloader - 15.3.2

Published by xuejianxianzun over 1 year ago

转换 APNG 动图的代码改回以前的

更新了作品发布时间数据

PixivBatchDownloader - 15.3.1

Published by xuejianxianzun over 1 year ago

修复了画师名字里含有特定异常字符导致无法下载的问题

https://github.com/xuejianxianzun/PixivBatchDownloader/issues/301

https://www.pixiv.net/users/46532390

这个画师的名字是 con.fundo_,由于 con 是 Windows 的保留文件名,并且还同时满足以下条件,才导致了文件名非法,无法下载:

  • 保留文件名出现在某一层路径的开头(如果出现在路径中间或者是结尾,则是合法的)
  • 保留文件名后跟着一个 .(如果跟着的不是 . 而是其他字符,则是合法的)

现在下载器可以检测这种情况,并把半角的 . 替换成全角的 ,修复了这个问题。

更新了作品发布时间数据

PixivBatchDownloader - 15.3.0

Published by xuejianxianzun over 1 year ago

优化提示:增加了一个显示在标题栏上的标记 ☑

以前当下载完成时,下载器会在页面标题上显示 ✓ 标记。

现在下载器添加了 ☑ 标记,如果你看到 ☑,就意味着这次完成的下载任务不是从当前页面建立的。这在某些时候可以避免混淆。

它会在发生以下情况时取代 ✓ :

  1. 下载完成时,页面网址相比开始抓取时发生了变化。
  2. 下载完成后,如果用户改变当前页面的页码(也就是翻页),则 ✓ 会变成 ☑。

这个标记判断的是 抓取开始 时的 URL。这个 URL 保存在 store.URLWhenCrawlStart。在保存和恢复未完成任务时,这个变量也会被保存和恢复。

添加了一些提示

用户以前可能容易忽略掉一些提示和快捷键。现在下载器会在首次使用相关功能时,显示对应的提示。

更新了作品发布时间数据

PixivBatchDownloader - 15.2.0

Published by xuejianxianzun over 1 year ago

新增设置项:文件下载顺序

文件下载顺序 - 排序依据 o作品 ID o收藏数量 o收藏时间 | o降序 o升序 

你可以在“更多”选项卡的“下载”分类中找到这个设置。

这个功能默认未启用。

这不是必须的设置;如果你有需要,可以启用此设置。


注意: 启用此设置可能会增加下载完成所需要的时间。

这是因为当下载器同时下载多个文件时,后面的文件可能比前面的文件更早完成下载。为了保持下载顺序,下载器会让后面的文件等待一段时间。

例如下载线程为 5,下载的文件的顺序编号是 1、2、3、4、5,但是 5 最先完成下载。下载器会让 5 等待 1、2、3、4 全部下载并保存到硬盘上之后,再保存 5。这就导致 5 需要等待一段时间,所以这有可能导致下载时间增加。

当下载的文件中有动图时,等待时间很容易进一步增加。假如一个动图下载后开始转换(甚至假设它是第一个,还没下载完,更没有开始转换),此时后面的图片已经下载完了,但是由于动图没转换完,所以后面的图片都要等待这个动图转换完成。也就是说其他下载线程被这个动图阻塞了。由于动图转换花费的时间可能会比较久,所以等待时间也会变多。

新增功能:移除本页面中所有作品的标签

当你在自己的收藏页面时,可以在“更多”选项卡里看到这个按钮。

点击这个按钮,等待下载器执行完毕之后,本页面中的所有作品会变成未分类状态。

慢速抓取改为默认开启

以前慢速抓取是默认关闭的,现在改为默认开启,以减少 429 问题出现的概率。

同时,当出现 429 错误时,下载器会在日志里显示新的提示。

PixivBatchDownloader - 15.1.0

Published by xuejianxianzun almost 2 years ago

新增设置项:AI 作品

用户可以选择是否下载由 AI 生成的作品。

你可以在“抓取”选项卡里找到它。(需要先启用“显示高级设置”)

新增命名标记:{AI}

如果作品是由 AI 生成的,则输出 AI

提升了动图转换为 APNG 图像的速度

更新了作品发布时间数据

Related Projects