Releases: xuejianxianzun/PixivBatchDownloader
16.2.0
✨新增功能:取消收藏所有已被删除的作品
在用户自己的收藏页面里,打开下载器的“更多”标签页就可以看到这个功能按钮。
此功能会获取全部收藏数据,并从中找出已不存在的作品,取消收藏它们。
⬆️优化了“取消收藏本页面中的所有作品”功能,使其花费的时间减半
⬆️优化了“移除本页面中所有作品的标签”功能,使其花费的时间减半
🐛修复了“显示更大的缩略图”的一些问题
💡优化了定时抓取的提示
🕑更新了作品发布时间数据
16.1.3
🐛修复了抓取完成时可能卡住的 bug
当用户启用 “ID 范围”设置时,下载器可能会在抓取完成时出错,导致任务卡住,无法完成抓取并开始下载。
上个版本的修改“修复了慢速抓取功能导致时间范围的优化策略失效的问题”导致了此问题。现在修复。
✨支持在长按鼠标右键时显示大图,对动图进行缩放
右键预览大图时可以通过鼠标滚轮来缩放画布尺寸。但是我发现动画不会随画布尺寸变化,现在进行了完善。
🕑更新了作品发布时间数据
16.1.2
🐛修复了“显示更大的缩略图”的一些问题
16.1.1
🐛修复了慢速抓取功能导致时间范围的优化策略失效的问题
16.1.0
✨新增设置项:在多图作品页面里,显示缩略图列表
这个功能很早就有了,就是多图作品页面里,大图下方显示的一横排缩略图列表。只是以前不能关闭,现在加了个开关可以关闭了。
🐛修复了“显示更大的缩略图”的一些问题
修复了在作品页面内收藏作品后,显示的“推荐作品”的图片无法完全显示的问题。现在将其保持为原大小。
🕑更新了作品发布时间数据
16.0.4
🐛修复了一个提示可能意外出现的问题
上版本增加的提示 可能发生了错误。请刷新页面重试 可能会意外出现,并且日志里可能会多次出现。现在修复此问题。
16.0.3
修复了“显示更大的缩略图”的一些问题
- 修复了缩略图没有完全显示的问题(之前固定了最大宽度,导致图片两侧可能被裁切)
- 修复了首页“推荐作品”显示不全的问题(之前没有让里面的元素换行,所以只显示了一行)
- 修复了点击顶部的搜索框,下拉区域里的大图错乱的问题。这里容器固定了宽高,如果显示大图的话只能显示出一部分
尝试检测正常下载时卡住的情况
下载时进度条卡住,有多种可能的原因,有一种可能情况似乎是 Chrome 自己的下载管理功能出问题了,这种情况下它不会向前台脚本返回信息,所以进度会卡住。
尝试检测这种情况:向浏览器发送下载后 3 秒如果没有收到回应,就提示刷新页面重试。
更新了作品发布时间数据
其他
增加了一个隐藏命令 ppdtask3,输入命令可以打开所有的测试页面,目前共 21 个页面。
16.0.2
修复了“显示更大的缩略图”失效的问题
16.0.1
修复了一些用户在批量关注用户时,遇到 400 错误的问题
有些用户在添加关注时需要附带一个特殊的 token,如果缺少就会导致 400 错误。
下载器无法解决此问题,目前使用 iframe 方法模拟点击来关注用户。此方法存在如下问题:
- 内存占用大,添加到 120 个左右就可能导致 Out of Memory。
- 在超出内存之前就很容易因为 fetch 被取消而导致页面卡死。
- 花费的时间比较久。
详情参见:notes\recaptcha_enterprise_score_token 添加关注的用户时的验证码.md
为了解决遇到的一些问题,花了很长时间。
其他优化
批量关注用户时,添加 1000 个关注之后下载器会自动停止,以免用户被 Pixiv 封号。
详情参见:notes\批量关注用户太频繁导致账户被封禁限制.md
修复了一些页面里,显示更大的缩略图异常的问题
Pixiv 原本的中间区域不是全宽的,显示更大的缩略图功能会加宽。
最近在首页和其他某些页面里加宽或放大图片失效了,现在修复。
更新了作品发布时间数据
16.0.0
新增功能:导出关注的用户列表(JSON)
在你或其他用户的 Following 页面里,你可以导出关注的用户列表。
新增功能:批量关注用户(JSON)
选择“导出关注的用户列表(JSON)”生成的 JSON 文件,下载器会读取里面的用户列表,然后关注他们。
这两个功能是搭配使用的。你可以先导出,然后导入来批量关注用户。
当你有多个帐户时,可以使用这个方法同步你关注的用户列表。
你也可以复制其他用户的关注用户列表。
注意:
下载器在批量关注用户时,会设置时间间隔以避免因 429 错误导致关注失败,但是这不能百分百避免 429 错误。如果执行完毕后,你发现已关注数量少于预期,可以再次导入列表以进行批量关注。
批量关注之前,下载器或先获取一遍你的关注列表,已经关注过的就不需要重复发送关注请求了,节约时间。
新增功能:导出与导入 ID 列表
除非你明白自己的目的,否则不应使用这个功能。
这是为了解决 429 问题进行的尝试,因为未登录时不会触发 429 错误,所以可以退出登录然后高速抓取。但是它有很大的局限,不是完美的。
这个方法的操作步骤如下:
- 在“更多”-“下载”里开启设置项“获取 ID 列表完毕后导出它,并停止抓取”
- 开始抓取,当获取到全部 ID 列表后,下载器会导出一个 JSON 文件,并停止抓取
- 退出登录(或使用另一个未登录 Pixiv 的浏览器),然后打开 Pixiv 首页
- 点击“导入 ID 列表”按钮,即可进行高速抓取。
局限:
- 因为未登录,对于插画作品,不仅无法抓取到 R18(G) 作品的数据,就算不是 R18(G) 但是有少许色情元素的作品也不能抓取。(sl 值为 4 或 6 的,或 R18 的,返回数据里的 urls 都是 null,无法获取到图片网址)。只能获取到普通且健全的作品的数据。
- 因为未登录,对于小说作品,无法抓取到 R18(G) 作品的数据(404)。普通作品都可以抓取。
- 因为未登录,所以无法检查作品的收藏状态,不能使用“收藏状态”过滤选项。
- 因为未登录,你在 Pixiv 账户设置里的屏蔽(Mute)用户或标签的功能也不会生效。
适用场景:
- 适合要抓取的作品全部是普通(全年龄)并且没有色情元素的作品时使用。特别是抓取全年龄小说时最合适。
- 适合大量抓取时使用。少量抓取(几百个)的话没必要用这个方法。
- 不能检查收藏状态,也不能使用“下载后收藏”功能。
控制导出的 JSON 文件的体积小于 512 MB
当下载器的抓取结果很多时,导出的 JSON 文件的体积可能大于 512MB,这会导致导入到下载器时失败。
现在下载器导出的 JSON 文件体积上限是 500 MB。如果总数据量超过这个体积,就拆分成多个文件。
用户未登录时不获取屏蔽设置(Mute)
之前如果用户未登录,下载器获取屏蔽设置(Mute)会失败(401)),并且 Mute 模块会抛出错误导致抓取中止。
现在下载器会检查用户是否登录,如果未登录则不会获取屏蔽设置。
而且即使请求发生错误,下载器也可以继续抓取。
“显示更大的缩略图”功能改为默认开启
这个功能开启后会导致首页“关注用户・好P友的作品”区域的横向滚动出现异常,发现页面里似乎也有同样问题,其他地方没有问题。
之前因为上述问题,这个功能是默认关闭的,现在改为默认开启。