神代綺凜

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

[Pxder] Pixiv 插画下载器

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

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

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

Pxder

运行示例

因为 OX163 解析过慢,功能也不多,并且是龟速单线程下载;而一些油猴解析脚本例如 Pxer 因为浏览器权限原因只能解析而不能帮你下载,于是最终我还是决定自己写个 _(:3」」

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

最大的缺点是没有 GUI,纯命令行操作,不过也并不难用(信我),GUI 在后续开发计划中(咕咕咕

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

注意

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

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

更新日志

v2.7.3 - 20190730
因 API 限制,offset 超过 5000 时将不再继续请求

v2.7.0 - 20190402
加入程序更新检查功能
针对某些有 404 问题的插画调整下载重试逻辑

v2.6.2 - 20181124
优化下载重试逻辑

v2.6.1 - 20181122
抗连接重置
优化下载重试逻辑

v2.6.0 - 20181122
动图压缩包名字加入 delay 信息(帧速)
在收集画师/画作时显示具体进度

v2.5.5 - 20181014
(大概也许可能差不多)修复了按PID下载时的重试问题
支持多参数,流程串行(例如pxder -fFbB

v2.5.4 - 20180920
修复一切因插画标题含有 ASCII 不可见字符引起的非法文件名问题

v2.5.3 - 20180916
修复插画标题含有制表符导致的非法文件名问题
修复按画师下载的问题

v2.5.1 - 20180913
修复下载私密收藏插画功能异常的问题

v2.5.0 - 20180908
使用更可靠的路径存放配置文件,解决权限问题
增加及优化按PID下载功能

v2.4.2 - 20180904
按关注画师下载时无视“Pixiv事務局”

v2.4.1 - 20180831
修复收藏插画下载异常

v2.4.0 - 20180827
增加下载收藏插画的功能
优化按关注画师下载

TODO

  • 开发 GUI

搬瓦工VPS优惠套餐,建站稳如狗,支持支付宝,循环出账94折优惠码BWH26FXH3HIQ
年付$28CN2线路,1核/512M内存/10G硬盘/[email protected]点击购买】(经常售罄,请抓紧机会)
年付$47CN2线路,1核/1G内存/20G硬盘/[email protected]1Gbps【点击购买
Last modification:August 12th, 2019 at 03:46 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

218 comments

  1. Ouroboros  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)

    大佬,有没办法把动画下载成webm,gif,之类的格式?

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)
      @Ouroboros

      之前试过转 gif 但不尽人意,webm 的话也只有 webkit 支持,目前没找到比较完美的方案
      我比较倾向于转 mp4
      https://github.com/Tsuk1ko/pxder/issues/13

      1. Ouroboros  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)
        @神代綺凜

        你会把转mp4放到gui版吗?

      2. Ouroboros  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)
        @神代綺凜

        你会把转mp4放到gui版吗?

  2. wzxyisme  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)

    你好,我使用的是谷歌在台湾的centos服务器,为什么会登录不了

    1. wzxyisme  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.132(Google Chrome 76.0.3809.132)
      @wzxyisme
      该评论仅登录用户及评论双方可见
  3. SL  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)

    顺便想问一下大佬,收藏插画文件夹会因为图片太多而卡住的问题怎么解决|´・ω・)
    以及如果在收藏下载完前关闭,下次再执行pxder -b命令的话会接着上次的进程下载吗?

    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
      @SL

      图片太多卡住具体是什么现象,process 不动了还是怎么

      收藏没有做记和缓存,不会接着下载,后续版本会加入缓存功能

      1. SL  Android 7.1.2(Android 7.1.2) / Firefox 68.0(Firefox 68.0)
        @神代綺凜

        卡住是说因为收藏的插画都下在同一个文件夹里所以打开时会有资源管理器卡住的问题,想知道能不能按照所在页数或者其他标准给它们分成数个文件夹
        辛苦大佬了~

        1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
          @SL

          下个版本改成按画师分文件夹吧

          1. SL  Android 7.1.2(Android 7.1.2) / Firefox 68.0(Firefox 68.0)
            @神代綺凜

            好der,大佬辛苦了~

  4. SL  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)

    感谢分享,终于发现一个可以批量下载收藏的了OuO

  5. flyco  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 53.0(Firefox 53.0)

    感谢您的分享,希望增加一个实用的选项:不再更新比现有图片更旧的图片,或者只更新最近1年内的作品(有一些画师放了大量很旧的图,不合意删除掉,但是用update命令会再下载回来)

    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
      @flyco

      感谢提议,这个功能会被加到将来的 GUI 版中

  6. lym  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 68.0(Firefox 68.0)

    膜拜~

  7. lym  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 68.0(Firefox 68.0)

    qaq,不求图形界面。。就是希望有gif合成处理qaq

    1. 神代綺凜  Mac OS X 10.14.6(Mac OS X 10.14.6) / Google Chrome 76.0.3809.100(Google Chrome 76.0.3809.100)
      @lym

      这个功能还在开发中,因为 node 本身的原因目前没有找到解决方案……

  8. 211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)

    啊!我下载了一半。但是把文件夹设置在一个废弃软件里了。结果清理垃圾时被当做残留垃圾删掉了。现在发现,之前下载过的三百个画师无法再次下载了。。只剩下还没下载的四百多个。现在不知如何才能把之前的几位重新下载Σ(っ °Д °;)っ

    1. 211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
      @211

      太好了,pxder又重新检测一遍。把他们下载回来了。赶下唯一的神——神代綺凜٩(ˊᗜˋ*)و

      1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
        @211

        因为按关注画师下载收集画师信息耗时很长所以专门做了进度缓存

        如果以后出现这种情况可以加--force重新收集信息,或者等全下完之后再执行一遍

        1. 211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
          @神代綺凜

          对了,之前报告说每下载完一两个画师,就会卡死。得CTRL+C重新下载。
          现在发现,如果使用日本的节点挂代理就可以持续下载,不会卡死。

          1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
            @211

            大概是代理问题了……

      2. 211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
        @211

        感谢,不是赶下、。。。

  9. iopp  Windows 10 x64 Edition(Windows 10 x64 Edition) / uBrowser 6.2.4098.3(uBrowser 6.2.4098.3)

    看了好久这个页面都没有找到下载地址= =

  10. 围巾怪  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)

    发现新大陆!使用体验挺好的!github已star
    不过大大能不能加入下载排行榜前50之类的功能!

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @围巾怪

      目前的命令行版本不会再加入新功能

      以后做 GUI 版的时候会考虑加入

      1. 秋水连波  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 67.0(Firefox 67.0)
        @神代綺凜

        请问为什么一直显示You must login first!

        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
          @秋水连波

          你不登陆怎么下载嘞,麻烦读一下

          1. 秋水连波  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 67.0(Firefox 67.0)
            @神代綺凜

            我登录了好几遍了,但是次次显示需要先登录

            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
              @秋水连波

              登陆的时候有没有报错没成功……

              1. 秋水连波  Android 9(Android 9) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
                @神代綺凜

                不知道,看不出来有没有报错

      2. 围巾怪  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
        @神代綺凜

        感谢

  11. brmkai  Windows 10 x64 Edition(Windows 10 x64 Edition) / Sogou Explorer(Sogou Explorer)

    似乎在网络较差的时候会下完一个画师的作品后停止了继续下载其他画师的作品,也不报错,尝试等了一晚也不会动,请问这个能否解决>﹏<

    1. 211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.110(Google Chrome 70.0.3538.110)
      @brmkai

      我也是这个问题

    2. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @brmkai

      尝试修复了一下问题,请更新到最新版本

      1. 211  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.142(Google Chrome 75.0.3770.142)
        @神代綺凜

        网络连接好8时(每秒10MB)也会这样。
        不过还是很感谢楼主做的工具

        1. 神代綺凜  Mac OS X(Mac OS X) / Safari(Safari)
          @211

          那真不知道怎么修了555

  12. brmkai  Windows 10 x64 Edition(Windows 10 x64 Edition) / Sogou Explorer(Sogou Explorer)

    请问可以添加高级会员有的文件夹分类下载项吗?因为超出5000关注不知该如何解决QAQ

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @brmkai

      因为目前使用的 API 具有限制,不能超出 5000,目前我不知道有没有能突破这一限制的官方 API
      v2.7.2-rc2 版已经针对这个问题做了简单的限制,将不再会报错终止

      1. wdrnrgbtahbagr  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
        @神代綺凜

        加油!

        不想分兩個號關注的人如此說

  13. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)

    data:
    { error:
    { user_message: '',
    message: '{"offset":["Offset must be no more than 5000"]}',
    reason: '',
    user_message_details: {} } } }
    不能超过5000个收藏画师吗OωO

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
      @LLLYYYGGG123

      看起来是的,这是 api 的限制,看来是没办法解决

      我去加个限制避免出错好了

      1. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.100(Google Chrome 75.0.3770.100)
        @神代綺凜

        嗯嗯,感谢大佬

  14. wshsirin8  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.131(Google Chrome 74.0.3729.131)

    你好,,我想请问一下:为什么我重装系统后再次按照教程安装下载器后,无法登陆p站账号呢?(挂了代理)

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.90(Google Chrome 75.0.3770.90)
      @wshsirin8

      是否有报错信息输出呢,只靠这样的描述是无法确定问题的

      1. wshsirin8  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.131(Google Chrome 74.0.3729.131)
        @神代綺凜
        该评论仅登录用户及评论双方可见
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.90(Google Chrome 75.0.3770.90)
          @wshsirin8

          这 IP 是 facebook 的,DNS 污染现象,说明没有(成功)挂上代理

          建议再好好检查下代理设置

          1. wshsirin8  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.131(Google Chrome 74.0.3729.131)
            @神代綺凜

            好的,谢谢您

            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.90(Google Chrome 75.0.3770.90)
              @wshsirin8

              或者请尝试运行ipconfig /flushdns清除 DNS 缓存

              1. wshsirin8  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.131(Google Chrome 74.0.3729.131)
                @神代綺凜

                万分感谢,已经好了!!ヾ(≧∇≦*)ゝ

                1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 75.0.3770.90(Google Chrome 75.0.3770.90)
  15. wdrnrgbtahbagr  Windows 8 x64 Edition(Windows 8 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)

    感謝大佬的腳本∠( ᐛ 」∠)_
    用了OX163很久
    OX163致命的是不能自動更新所有画师
    每次都要手動更新
    對了大佬,有沒有興趣開發twitter版的批量下载(手動斜眼)
    現在不少画师走去twitter發圖
    要是能收全就好了
    滿足倉鼠的欲望 (劃掉)

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
      @wdrnrgbtahbagr

      推特下图我自己暂时还没有需求,我一般直接在p站关注的,虽然部分画师也有关注推特

      以后再考虑吧

      1. wdrnrgbtahbagr  Windows 8 x64 Edition(Windows 8 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
        @神代綺凜

        感谢大佬

  16. ccwwjjcw  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 67.0(Firefox 67.0)

    能不能直接把图片链接提取出来发送至ariac2或者是IDM,这样的话下载效率会很高,ariac2和idm不用翻墙就可以直接下载图片的,pxder很好,但就是受socket速度限制∠( ᐛ 」∠)_

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
      @ccwwjjcw

      原图所在的i.pximg.net是不用翻,需要翻的主要是*.pixiv.net

      配合 aria 下载准备在以后要开发的 GUI 版上实现

  17. kirito  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)

    部分png图片抓取有问题,没有把画师全部图片下载下来。重试了几次都是那部分图片无法抓取。((9685977)Nahaki,(1601715)Mvv 的问题特别严重)

  18. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)

    用的目前的最新版本,用的 -f下载,为什么下载一两个画师之后就歇菜了啊,不过下载的时候很快,就是不能继续跳转到下一个画师进行下载

    1. AN  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.157(Google Chrome 74.0.3729.157)
      @LLLYYYGGG123

      一樣耶,但我是不只用-F, 用-U,多線的時候下載完一個畫師就停了

      1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
        @AN

        那是真的不清楚了,这种个例问题找不到具体原因也很头疼

    2. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
      @LLLYYYGGG123

      我这里没有这种问题,可能与你的代理有关

      1. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
        @神代綺凜

        emmm给我的感觉是某个画师有几张没有爬完,就始终停留在这个画师等待,就像是任务阻塞了一样;如果这个画师下载完了,就会马上进行下一个画师进行下载而不会停留。但是最关键的就是这种下载不完全然后一直等待的情况非常容易发生

        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
          @LLLYYYGGG123

          那这应该就是代理质量不太行了
          可以尝试在设置中调小超时时限,在下载卡住的时候尽快进行重试

          1. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
            @神代綺凜

            可以看一下我截的屏,注意时间那一栏
            https://ibb.co/YdNWSRk

          2. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
            @神代綺凜

            我挂Proxifier看了一下,发现有的(一般会有好几个)node线程已经接收到数据了但是没有完成接收(代理是没有问题的,但是不知道会不会是掉包的问题或者pixiv官方数据发送的问题)然后就一直卡在那里不动了导致线程一直无法释放(我猜大佬的代码应该要线程完全释放才会跳转到下一个画师进行爬取吧),和GitHub上所说的出现问题的情况有点不一样,不是一开始就无法接收数据包也不是线程出现错误的情况。真切地希望大佬能够改进一下代码,完成我等愉快爬取小姐姐的愿望

            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
              @LLLYYYGGG123

              主要是我也得知道问题真正原因才有办法修……毕竟我这里没有出现卡住的情况

              你是一开始就一直在用 Proxifier 来代理么,有没有试过直接在程序中设置,还是说两者都会像这样卡住

              1. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
                @神代綺凜

                刚才好像忘说了,最开始是在软件中代理的ssr。
                又测试了一下,如果只开一个线程(好像)就不会有问题
                另外我的想法是直接设置一个线程检测,比如超过5min的话线程还没有释放的话直接关掉这几个线程(或者断开这几个线程的代理连接)让它继续跳转到下一个画师进行下载(看评论感觉不是我一个人出现了这个问题),不知道这个办法能不能行

              2. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
                @神代綺凜

                最开始用酸酸乳卡住了,然后用Proxifier发现也会卡住(我刚才试了一下如果手动断开proxifier中卡住的线程的代理连接的话就可以跳转到下一个画师继续下载了

                1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
                  @LLLYYYGGG123

                  那么这个卡住的现象是每次都会发生在下载完一个画师最后几张画的时候吗,在这之前从来不会卡住?

                  1. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
                    @神代綺凜

                    我看线程的接收数据记录是突然就卡住了,不是说最后几张图片才会出现这个问题

          3. LLLYYYGGG123  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.169(Google Chrome 74.0.3729.169)
            @神代綺凜

            嗯嗯好的(感觉我的酸酸乳应该很不错才对OωO)

  19. YoungJune  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.131(Google Chrome 74.0.3729.131)

    这就是大佬吧,抱紧大腿ヾ(≧∇≦*)ゝ

  20. flyco  Windows 10 x64 Edition(Windows 10 x64 Edition) / Firefox 53.0(Firefox 53.0)

    不能同时下载多个ID,每次输入几个ID最终还是只识别一个。用了逗号并没有用啊

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 74.0.3729.131(Google Chrome 74.0.3729.131)
      @flyco

      当时使用的命令是什么