可按根据指定画师 UID 解析并下载插画(包括动图)、一键下载所有你关注的画师的插画或收藏的插画、智能增量更新下载过的画师的插画。
多线程下载,并且支持使用 HTTP 与 SOCKS 代理。
Head Pic: 「五河琴里」/「秋原ノゾミ Sheila」のイラスト [pixiv]
Pxder
由于 Pixiv 已不再支持客户端的登录 API,请更新到 v2.12.0 及以后的版本以使用新的登录方式
此项目基于 Node.js,姑且算自己学习的副产物(实际上是不务正业的产物
最大的缺点是没有 GUI,纯命令行操作,不过也并不难用(信我)
安装及使用等说明请直接看 Github 项目文档
注意
因P站域名遭到 GFW 的 SNI 阻断,这意味着只要你在大陆内,即便你改了 Hosts 也无法直接使用 pxder,请记得使用pxder --setting
设置代理或启用直连模式
从现在开始所有在评论中询问因未挂代理而产生的问题都将会被无视
版权声明:本文为原创文章,版权归 神代綺凜 所有。
本文链接:https://moe.best/projects/pxder.html
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
显示:
Pixiv Login
Before login, please read this first -> https://git.io/Jt6Lj
Continue? [y/n]: y
Login URL: https://app-api.pixiv.net/web/v1/login?code_challenge=ogU5XT6lcdPaTcvMcbadzqyfLxgafZCuDu0-WYcIaEA&code_challenge_method=S256&client=pixiv-android
code:
而F12没这一项。
但,F12里面没有 Query String Parameters这一选项。
最后一项的图标也是一个红色的X
点了继续登录,返回的的确是“空白页”
pixiv://
开头的,后面会有个参数code=xxxx
,把等号后面的内容复制出来上次使用还是在19年,很高兴优秀的工具如今还能使用。
多次试错,我判断该问题都是出在标题为符号的图片上。
版本号:2.12.8
几个例子:(pid81484149)(pid88953328)(pid102507760)
DEBUG:
Error: ENOENT: no such file or directory, open 'C:\Users\XXX\AppData\Roaming\pxder\tmp(100961431)?_p2.jpg'
at Object.openSync (node:fs:602:3)
at Object.writeFileSync (node:fs:2334:35)
at Object.download (C:\Users\XXX\AppData\Roaming\npm\node_modules\pxder\src\tools.js:52:9)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\XXX\AppData\Roaming\npm\node_modules\pxder\src\downloader.js:187:5 {
errno: -4058,
syscall: 'open',
code: 'ENOENT',
path: 'C:\Users\XXX\AppData\Roaming\pxder\tmp\(100961431)?_p2.jpg'
-f不会产生新关注的文件夹,反复Network error。-u检测到新的进行下载时,也一样。一张都下不了提示Network error。
尝试使用pxder --debug输出,提示Missing arguments。
已使用npm i -g pxder更新至最新版本。
已尝试使用不同的代理节点,已尝试重新登录。
你的 node 版本是多少
已尝试重装pxder
debug出来提示是
Error: Request failed with status code 522
at createError (C:\Users\14610\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\createError.js:16:15)
at settle (C:\Users\14610\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (C:\Users\14610\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\adapters\http.js:293:11)
at IncomingMessage.emit (node:events:525:35)
at endReadableNT (node:internal/streams/readable:1359:12)
Collecting your follows
Progress: 4977ERROR {"error":{"user_message":"","message":"{\"offset\":[\"Offset must be no more than 5000\"]}","reason":"","user_message_details":{}}},是因为关注数太多了吗?
P站的验证系统提示: 您的计算机或网络可能在发送自动查询内容。为了保护我们的用户,我们目前无法处理您的请求。如需了解更多详情,请访问我们的帮助页面。
1.按照教程进行操作,直至转到登录界面
2.可以点击继续登录,这个时候的验证不会被阻拦
3.验证完点击登录后,按照教程f12会多出一个红色的login?条目,双击该条目会弹出新的空白网页,但是可以复制code=到&via这中间一段的code字符串。然后粘贴,这样登录成功了。
以上仅仅只是我自己的解决方法,不代表百分百按照教程的来解决,与教程的解决方案有一点不一样,谢谢。
说的不对的还望指正,谢谢各位ヾ(≧∇≦*)ゝ
对了想起来一件事,如果画师按以前的名称创建的文件夹和新文件夹同时存在直接重命名会报错,我就很简单的改了一下把旧的文件夹里面的文件移动过去了删除旧文件夹。出现这种情况会输出已存在新文件夹。
之所以我遇到这个问题,是因为最开始在家里下载了,上学不能下载到家里,就在学校下载了之后之后重新放一起时发现的
最后,附上几张下载收藏的相关的截图
下载一晚上正好同时遇到自动重命名是否已经存在新文件夹名称的不同情况
所有收藏图片都获取信息储存下来了(没准花了快一个小时>﹏<,但是问题不大,以后不需要再次获取了,直接读取就好,)请不要问我为什么收藏了这么多。(另外获取私有收藏,可以用-B false 表示是否公开为false,获取私有收藏)
请求 URL: pixiv://account/login?code=m-6LI4A7p4**tw4Uk46BDHSZyfvl38&via=login
中的code值登录提示
Login fail! Please check your input or proxy setting.
是什么问题,确认能访问pixiv
是我的code输入错误
由于没有单独行,我加上了xxxx&via=login内容
导致code错误。
再次感谢
-M
是不会去抓取动图的详细信息(帧率),但动图还是会下载的下载完一个画师的作品,去下载(或者只是检测?)另一个画师的作品的时候可能会出错(当时分心干别的事情去了,遇到报错直接up enter继续了ORZ,下次一定加--debug)
C:\Users\Polaris\AppData\Roaming\pxder\
加到白名单里白屏无任何可用返回 --firefox
是我的问题吗QWQ
另github的release里是不是写错版本号了,一下子从2.12.1跳到2.21.2
确实写错版本号了,已经更正了
-M
参数,你在-h
里能看到说明