Chrome 扩展,批量下载 Pixiv 的插画和小说。过滤作品、下载时重命名、转换动态图片等。Powerful Pixiv batch downloader. Batch download artworks and novels, filter works, rename when downloading, convert animated images, and more.
https://github.com/xuejianxianzun/PixivBatchDownloader/issues/338
下载时进度条卡住,有多种可能的原因,有一种可能情况似乎是 Chrome 自己的下载管理功能出问题了,这种情况下它不会向前台脚本返回信息,所以进度会卡住。
尝试检测这种情况:向浏览器发送下载后 3 秒如果没有收到回应,就提示刷新页面重试。
增加了一个隐藏命令 ppdtask3
,输入命令可以打开所有的测试页面,目前共 21 个页面。
有些用户在添加关注时需要附带一个特殊的 token,如果缺少就会导致 400 错误。
下载器无法解决此问题,目前使用 iframe 方法模拟点击来关注用户。此方法存在如下问题:
详情参见:notes\recaptcha_enterprise_score_token 添加关注的用户时的验证码.md
为了解决遇到的一些问题,花了很长时间。
批量关注用户时,添加 1000 个关注之后下载器会自动停止,以免用户被 Pixiv 封号。
详情参见:notes\批量关注用户太频繁导致账户被封禁限制.md
Pixiv 原本的中间区域不是全宽的,显示更大的缩略图功能会加宽。
最近在首页和其他某些页面里加宽或放大图片失效了,现在修复。
在你或其他用户的 Following 页面里,你可以导出关注的用户列表。
选择“导出关注的用户列表(JSON)”生成的 JSON 文件,下载器会读取里面的用户列表,然后关注他们。
这两个功能是搭配使用的。你可以先导出,然后导入来批量关注用户。
当你有多个帐户时,可以使用这个方法同步你关注的用户列表。
你也可以复制其他用户的关注用户列表。
注意: 下载器在批量关注用户时,会设置时间间隔以避免因 429 错误导致关注失败,但是这不能百分百避免 429 错误。如果执行完毕后,你发现已关注数量少于预期,可以再次导入列表以进行批量关注。
批量关注之前,下载器或先获取一遍你的关注列表,已经关注过的就不需要重复发送关注请求了,节约时间。
除非你明白自己的目的,否则不应使用这个功能。
这是为了解决 429 问题进行的尝试,因为未登录时不会触发 429 错误,所以可以退出登录然后高速抓取。但是它有很大的局限,不是完美的。
这个方法的操作步骤如下:
局限:
适用场景:
当下载器的抓取结果很多时,导出的 JSON 文件的体积可能大于 512MB,这会导致导入到下载器时失败。
现在下载器导出的 JSON 文件体积上限是 500 MB。如果总数据量超过这个体积,就拆分成多个文件。
之前如果用户未登录,下载器获取屏蔽设置(Mute)会失败(401)),并且 Mute 模块会抛出错误导致抓取中止。
现在下载器会检查用户是否登录,如果未登录则不会获取屏蔽设置。
而且即使请求发生错误,下载器也可以继续抓取。
这个功能开启后会导致首页“关注用户・好P友的作品”区域的横向滚动出现异常,发现页面里似乎也有同样问题,其他地方没有问题。
之前因为上述问题,这个功能是默认关闭的,现在改为默认开启。
当用户点击“开始抓取”按钮后,“停止抓取”按钮会显示出来。点击它就可以停止抓取。
如果点击时已有抓取到的作品,则会保留此时的抓取结果以供下载。
在这里可以看到用户屏蔽的标签和用户:
https://www.pixiv.net/setting_mute.php
下载器会检查这里的设置,但是之前没有在日志上显示提示,现在会提示里面的屏蔽设置(如果有)。
小说里一张内嵌插图被多次调用时(也就是重复出现时),下载器生成的 EPUB 文件里只会把第一次调用替换为图片。现在可以把后面的调用也替换为图片了。
https://github.com/xuejianxianzun/PixivBatchDownloader/issues/334
当处于搜索页面,并且启用了“预览搜索页面的筛选结果”时,不使用“文件下载顺序”里的排序结果,而是始终按收藏数量排序。
短时间内添加大量的收藏也会引起 429 错误。下载器在一些情况下会批量添加收藏,之前没有在收藏之间添加间隔,容易引发 429 错误,现在添加了慢速收藏机制,每 2 秒发起一个收藏请求。
https://github.com/xuejianxianzun/PixivBatchDownloader/issues/313
Pixiv 会把有些中文标签翻译为英文,这导致用户使用 {tags_transl_only}
保存翻译后的标签时,反而会得到英文,例如:
原神 Genshin Impact
神里綾華 Ayaka Kamisato
八重神子 Guuji Yae
明日方舟 Arknights
史尔特尔 Surtr
现在进行了优化,如果中文标签被翻译成了英文,那么下载器会保存中文标签。
在一些宽度较小的手机上,下载器的按钮不能并排,现在改成可以并排 2 个。
Pixiv 在搜索页面的过滤条件中添加了 “AI 作品”设置,查询字符串名字是 ai_type
,如果 ai_type=1
则表示隐藏 AI 作品。
现在下载器在抓取时可以应用此过滤条件了。