神代綺凜

[Pxder] Pixiv 插画下载器
可按根据指定画师 UID 解析并下载插画(包括动图)、一键下载所有你关注的画师的插画或收藏的插画、智能增量更新下载...
扫描右侧二维码阅读全文
24
2018/08

[Pxder] Pixiv 插画下载器

可按根据指定画师 UID 解析并下载插画(包括动图)、一键下载所有你关注的画师的插画或收藏的插画、智能增量更新下载过的画师的插画。

多线程下载,并且支持使用 HTTP 与 SOCKS 代理。

Head Pic: 「五河琴里」/「秋原ノゾミ Sheila」のイラスト [pixiv]

Pxder

由于 Pixiv 已不再支持客户端的登录 API,请更新到 v2.12.0 及以后的版本以使用新的登录方式

运行示例

此项目基于 Node.js,姑且算自己学习的副产物(实际上是不务正业的产物

最大的缺点是没有 GUI,纯命令行操作,不过也并不难用(信我)

安装及使用等说明请直接看 Github 项目文档

注意

因P站域名遭到 GFW 的 SNI 阻断,这意味着只要你在大陆内,即便你改了 Hosts 也无法直接使用 pxder,请记得使用pxder --setting设置代理或启用直连模式

从现在开始所有在评论中询问因未挂代理而产生的问题都将会被无视

搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH3HYATVBJW
年付$47CN2线路,1核/1G内存/20G硬盘/1T@1Gbps【点击购买
季付$47CN2 GIA线路,1核/1G内存/20G硬盘/1T@2.5Gbps【点击购买
Last modification:February 12th, 2021 at 05:31 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

352 comments

  1. AN  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.150(Google Chrome 88.0.4324.150)
    你好,今日更新完後出現Error: Cannot find module 'lodash'
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.96(Google Chrome 88.0.4324.96)
      @AN 已修复,请再更新一下
      1. AN  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.150(Google Chrome 88.0.4324.150)
        @神代綺凜 哦哦,真快...可以了,謝謝!
  2. JIN  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
    Collecting illusts of 1/1 uid 22392525
    RETRY /v1/user/detail?user_id=22392525
    Socket closed
    RETRY /v1/user/detail?user_id=22392525
    Socket closed
    ERROR Socket closed
    这个是什么错误?
  3. 橡皮  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.146(Google Chrome 88.0.4324.146)
    无法登录,求助!

    Pxder Options
    
    [1] Download path       d:\pixiv
    [2] Download thread     5
    [3] Download timeout    30
    [4] Auto rename         Enabled
    [5] Proxy               socks://127.0.0.1:10808
    [6] Direct mode         Disabled
    [0] Exit
    
    Press a key [1...6 / 0]: 0
    
    Exit
    PS C:\Windows\system32> pxder --login --debug                                                                           
    Pixiv Login
    
    Username: ddhello
    Password: ****************
    https://oauth.secure.pixiv.net/auth/token
    Error: Request failed with status code 400
        at createError (C:\Users\ddhello\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\createError.js:16:15)
        at settle (C:\Users\ddhello\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\settle.js:17:12)
        at IncomingMessage.handleStreamEnd (C:\Users\ddhello\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\adapters\http.js:260:11)
        at IncomingMessage.emit (events.js:327:22)
        at endReadableNT (internal/streams/readable.js:1327:12)
        at processTicksAndRejections (internal/process/task_queues.js:80:21)
    ERROR {
        "message": "Request failed with status code 400",
        "config": {}
    }
    
    Login fail! Please check your input or proxy setting.
    
    {
      has_error: true,
      errors: {
        system: {
          message: 'Invalid grant_type parameter or parameter missing',
          code: 1508
        }
      },
      error: 'invalid_grant'
    }
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.96(Google Chrome 88.0.4324.96)
      @橡皮 请看文章开头
      1. 橡皮  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.150(Google Chrome 88.0.4324.150)
        @神代綺凜 (´இ皿இ`)蟹蟹
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.96(Google Chrome 88.0.4324.96)
          @橡皮 已经支持新的 OAuth 登录,请更新 pxder 并看 GitHub Readme
          1. 橡皮  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 88.0.4324.150(Google Chrome 88.0.4324.150)
            @神代綺凜 蟹蟹
  4. yogaskung  Android 9(Android 9) / Google Chrome 87.0.0.0(Google Chrome 87.0.0.0)
    这是 pxder 的部分日志

    https://pastebin.ubuntu.com/p/5dGj97BSTh/

  5. yogaskung  Android 9(Android 9) / Google Chrome 87.0.0.0(Google Chrome 87.0.0.0)
    i.pximg.net

    和 pixiv.net 一样,审查器现在会对检测到此 SNI 的连接进行 TCP 重置攻击,有必要对此域名使用域前置

    i-cf.pximg.net 还没有

    1. 神代綺凜  Mac OS X 10.15.7(Mac OS X 10.15.7) / Google Chrome 87.0.4280.141(Google Chrome 87.0.4280.141)
      @yogaskung 确实,已经增加 i.pximg.net 的域前置,请更新到 2.11.6

      如果今后 i-cf.pximg.net 也被针对的话就没办法了,Cloudflare CDN 不支持域前置 希望 i.pximg.net 不要废弃

      1. yogaskung  Android 9(Android 9) / Google Chrome 87.0.0.0(Google Chrome 87.0.0.0)
        @神代綺凜 使用 2.11.6 版本仍然无法下载

        这是日志: https://fars.ee/UsYJ

        奇怪的是,我直接 curl 日志中的 CurrectUrl 是可以连接的

  6. 00211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.141(Google Chrome 87.0.4280.141)
    那个。。作者看可否把下载画师作品的顺序颠倒一下。原来下载时,后关注的画师会被先下载,早些关注的画师,下载作品时会被拍在后面。如果把下载顺序颠倒一下,就能确保作品文件夹的顺序和关注顺序完全一致。强迫症一本满足233
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
      @00211 不是必要功能不会更新
  7. Aster  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.141(Google Chrome 87.0.4280.141)
    大佬您好,想问一下,如果在关注列表取消了关注,已下载的画师文件夹会不会跟着同步删除?
  8. Aster  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.88(Google Chrome 87.0.4280.88)
    大佬您好,之前使用一直正常,最近下载的时候经常显示重试,然后弹出
    (node:4144) UnhandledPromiseRejectionWarning: RequestError: connect ETIMEDOUT 104.16.17.35:443
    at ClientRequest. (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pxder\node_modules\got\source\request-as-event-emitter.js:178:14)
    at Object.onceWrapper (events.js:422:26)
    at ClientRequest.emit (events.js:327:22)
    at ClientRequest.origin.emit (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pxder\node_modules\@szmarczak\http-timer\source\index.js:37:11)
    at TLSSocket.socketErrorListener (_http_client.js:469:9)
    at TLSSocket.emit (events.js:315:20)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
    (Use node --trace-warnings ... to show where the warning was created)
    (node:4144) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 28)
    (node:4144) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    尝试更新下载器就一直卡在0%,然后显示
    npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/pxder failed, reason: connect ETIMEDOUT 104.16.26.35:443
    npm WARN registry Using stale data from https://registry.npmjs.org/ due to a request error during revalidation.
    请问这是下载器文件受损了吗?谢谢!
    1. 神代綺凜  Mac OS X 10.15.7(Mac OS X 10.15.7) / Google Chrome 87.0.4280.88(Google Chrome 87.0.4280.88)
      @Aster 网络问题,你网络环境到 cloudflare 不通,pixiv 和 npmjs 都是 cloudflare CDN

      1. 挂代理
      2. --no-cf 参数,会使用旧 CDN 域名下载
  9. 00211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 84.0.4147.135(Google Chrome 84.0.4147.135)
    大佬,我也是loginfail
    错误代码是

    Error: Request failed with status code 400
    at createError (C:\Users\00211\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\createError.js:16:15)
    at settle (C:\Users\00211\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\settle.js:17:12)
    at IncomingMessage.handleStreamEnd (C:\Users\00211\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\adapters\http.js:260:11)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (_stream_readable.js:1220:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
    ERROR {
    "message": "Request failed with status code 400",
    "config": {}
    }

    Login fail! Please check your input or proxy setting.

    {
    has_error: true,
    errors: {
    system: {
    message: '103:pixiv ID、またはメールアドレス、パスワードが正しいかチェックしてください。',
    code: 1508
    }
    },
    error: 'invalid_grant'
    }

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
      @00211 你这是帐号密码错了,下面 message 那么明显个日文拿去翻译一下啊
      1. 00211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 84.0.4147.135(Google Chrome 84.0.4147.135)
        @神代綺凜 好了,之前的密码过于简单不能用。改的复杂了就可以
      2. 00211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 84.0.4147.135(Google Chrome 84.0.4147.135)
        @神代綺凜 诶?为何会错呢?之前账号密码从没变过。我再查一下
  10. 欧复  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.111(Google Chrome 86.0.4240.111)
    该评论仅登录用户及评论双方可见
  11. 欧复  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.111(Google Chrome 86.0.4240.111)
    BUG?
    由于画师全是GIF,无法解析,后面单独下载加了-M。
    然后使用--follow继续全扫的时候,又重新下载一篇???
    我看了下,命名方式不同。单独下载的只是文件名,批量的都加了类似@60ms的帧数.
    所以造成了重复下载,命名方式就不同。
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
      @欧复 修复了,升级到最新版即可
      1. 欧复  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.111(Google Chrome 86.0.4240.111)
        @神代綺凜 谢谢!!麻烦你了
    2. 神代綺凜  Mac OS X 10.15.7(Mac OS X 10.15.7) / Google Chrome 87.0.4280.88(Google Chrome 87.0.4280.88)
      @欧复 确实,今晚修复
      1. 欧复  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.111(Google Chrome 86.0.4240.111)
        @神代綺凜 麻烦你了。 还是保留@60ms类似帧数的命名好一些。把单独下载的命名方式改过来
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
          @欧复 不是的,名字中的帧间隔数据需要单独调用 API 获取,因此大量下载动图时容易频率过高导致 429,因此我才会提供-M参数来不去调用这个 API,自然也就拿不到帧间隔

          要解决你这个重复下载问题,我要做的只是加上一个考虑这种命名方式的判断逻辑而已

  12. イカ  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.88(Google Chrome 87.0.4280.88)
    大佬你好,请教一下,一直以来工具一直使用正常,
    前一段时间登录突然显示:Login fail! Please check your input or proxy setting.
    发现评论区也有出现同样情况的人,重装了node.js和pxder之后依然没有变化
    梯子一直功能正常,其他设置也从来没动过,
    唯一的变动就是前一段时间把网从100m升级200m,不知道这个会不会有影响....
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
      @イカ 更新到最新版再试
      1. イカ  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.88(Google Chrome 87.0.4280.88)
        @神代綺凜 刚刚卸载了node.js 重新装了node-v14.15.1-x64

        重装pxder
        C:\Users*>npm i -g pxder
        C:\Users*
        \AppData\Roaming\npm\pxder -> C:\Users***\AppData\Roaming\npm\node_modules\pxder\bin\pxder

        • pxder@2.11.4
          updated 1 package in 20.627s

        然后登录
        Pixiv Login

        Username:
        Password:

        Login fail! Please check your input or proxy setting.

        还是不行

        1. 00211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 84.0.4147.135(Google Chrome 84.0.4147.135)
          @イカ 我也是这样。前几天还正常。今天忽然和你一样登录不了⌇●﹏●⌇
  13. 喵喵喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.66(Google Chrome 87.0.4280.66)
    打扰一下大佬,用的是软路由的插件输入pxder -f下载正常,但是有时候会不自动下载了 就卡在界面是什么情况呢OωO
    比如 [13] 55/55 pid 85679535 くら子 然后就不动了 没反应了
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
      @喵喵喵 一般是网络问题,可尝试使用质量好一点的代理
      1. 喵喵喵  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.66(Google Chrome 87.0.4280.66)
        @神代綺凜 感谢 我尝试下换成软件操作不走路由(☆ω☆)
  14. Smore  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 87.0.4280.66(Google Chrome 87.0.4280.66)
    大佬您好,前几天使用都没什么问题的,但是今天用的时候收集画师信息一直在0,然后弹出来什么token错误,我还以为是登录信息出错了。于是退出了重新登陆,可是不管用什么代理或者直连模式,都显示Login fail! Please check your input or proxy setting.我在网页登p站又可以正常登陆,说明不是梯子或者账号密码问题。麻烦大佬帮忙看一下,谢谢!
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
      @Smore 我这没问题,你加上--debug参数,贴一下错误日志
  15. KaGaMi  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
    大佬好!
    之前一段时间没用pxder,-f报错(详细内容没有保留),后来--login提示
    Login fail! Please check your input or proxy setting.
    Especially, you should disable certificate validation in setting if you are using local reverse proxy with self signed certificate.

    代理服务器,飞机设置一年来都没动过,突然得无法login,这个是代理自身问题吗?
    还是关于Api方面近段时间有更新吗...?
    查了好一段时间都没找到解决方案
    还请麻烦大佬帮忙看一看呢!

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 85.0.4183.83(Google Chrome 85.0.4183.83)
      @KaGaMi 我这正常,建议检查代理
      1. KaGaMi  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.198(Google Chrome 86.0.4240.198)
        @神代綺凜 谢谢大佬!
        我这边对引用的包检查了下,对比了下本地api-client 似乎有新版,可能更新操作有误,部分包更新不到导致的.
        重新安装pxder后,能正常登录了!
        麻烦大佬了!!!ヾ(≧∇≦*)ゝ
  16. JIN  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 80.0.3987.163(Google Chrome 80.0.3987.163)
    最近下载老是卡住不动,或者不跳下一个ip,是什么原因呢?
  17. Irori721  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 81.0.4044.113(Google Chrome 81.0.4044.113)
    大佬好,一直用大佬的pxder真的很方便,感谢您> <
    这次在使用上又出现了一些问题
    pxder -u 6131938
    这个id的太太没办法解析下载,请问这是出现了什么问题呢……?
    其他的画师都没有任何问题……麻烦您了!
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 85.0.4183.83(Google Chrome 85.0.4183.83)
      @Irori721 试了下我这里没问题
      1. Irori721  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 81.0.4044.113(Google Chrome 81.0.4044.113)
        @神代綺凜 真的很抱歉,发现是我自己太白痴了…> <|||
        实际上因为以前半夜已经把图都下载好了,这边没有好好检查存档的文件夹
        才会不弹出解析投稿总数那一栏……!真的很感谢麒麟大佬您愿意回应……!
        不好意思……> <||||犯傻了……
    2. Irori721  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 81.0.4044.113(Google Chrome 81.0.4044.113)
      @Irori721 顺便想补充一下…!这边没有任何小飞机问题或者阅览限制设置上的问题……
      版本也是最新的2.11.3……半年多的时间还是头一次遇到这种情况,不好意思……
  18. 阿卡雫  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.68(Google Chrome 86.0.4240.68)
    8376329这个画师无法解析。
    Failed to get ugoira meta data . If you get a rate limit error, please use --no-ugoira-meta argument to avoid it. connect EACCES IP 本机
    (我明明开了全局模式的,那个代理模式的说明看不明白。ssr-v2-trojan各不相同啊) --no-ugoira-meta的使用方式是 pxder --no-ugoira-meta ?
    然后弹出总命令行,使用pxder -M ?
    似乎要参数呀,怎么设置。
    这个命令针对GIF么,对其他的图没影响吧

    不开代理则是:

    Failed to get ugoira meta data . If you get a rate limit error, please use  --no-ugoira-meta argument to avoid it. {
      error: {
        user_message: '',
        message: 'Rate Limit',
        reason: '',
        user_message_details: {}
      }
    }
    
    {
        "error": {}
    }
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 85.0.4183.83(Google Chrome 85.0.4183.83)
      @阿卡雫 API 单位时间调用超限问题,会找个时间加个等待机制

      暂时你就在原来的命令里加上-M参数就好

  19. 554519205  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.75(Google Chrome 86.0.4240.75)
    收集画师信息的时候没问题,但是下载的时候下了一两个画师就会自动停下来,然后显示

    Error: timeout of 10000ms exceeded
        at createError (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\core\createError.js:16:15)
        at RedirectableRequest.handleRequestTimeout (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pxder\node_modules\axios\lib\adapters\http.js:264:16)
        at Object.onceWrapper (events.js:420:28)
        at RedirectableRequest.emit (events.js:314:20)
        at Timeout._onTimeout (C:\Users\Administrator\AppData\Roaming\npm\node_modules\pxder\node_modules\follow-redirects\index.js:166:13)
        at listOnTimeout (internal/timers.js:554:17)
        at processTimers (internal/timers.js:497:7) {
      config: {
        url: 'https://i-cf.pximg.net/img-original/img/2019/08/24/22/59/12/76441065_p6.png',
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 85.0.4183.83(Google Chrome 85.0.4183.83)
      @554519205 可能你网不好直连 cf 不行,尝试加上--no-cf参数
  20. Amorous  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 86.0.4240.75(Google Chrome 86.0.4240.75)
    该评论仅登录用户及评论双方可见
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 85.0.4183.83(Google Chrome 85.0.4183.83)
      @Amorous
      该评论仅登录用户及评论双方可见