神代綺凜

[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设置代理

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

使用 Vultr 机器做代理的同学请注意,日本除了108.60.*.*段的 IP,其余均被P站封锁

更新日志

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硬盘/500GB@1Gbps【点击购买】(经常售罄,请抓紧机会)
年付$47CN2线路,1核/1G内存/20G硬盘/1T@1Gbps【点击购买
我的文章对您有帮助吗?
我很可爱 请给我钱
扫一扫拿红包 → 扫商家收款码 → 花呗支付比红包多1分钱的金额
既可免费赞赏,又可完成支付宝支付任务!
Last modification:November 24th, 2018 at 03:47 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

105 comments

  1. 幼刀妙啊  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 63.0.3239.26(Google Chrome 63.0.3239.26)

    用的NGinx反代理 网页上的去 setting也设置了 但是登录还是connect ECONNREFUSED 127.0.0.1:1080

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 71.0.3578.98(Google Chrome 71.0.3578.98)
      @幼刀妙啊

      你在--setting中设置了代理,先将代理取消

  2. 逢坂大河  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.67(Google Chrome 70.0.3538.67)
    该评论仅登录用户及评论双方可见
    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 71.0.3578.98(Google Chrome 71.0.3578.98)
      @逢坂大河

      你指的是给 pxder 加入批量下载推荐作品等功能吗

      不会考虑,一是我觉得这类功能需求数较少,二是,我也很懒

  3. GM404  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.110(Google Chrome 70.0.3538.110)

    大佬,设置的DownloadPath中如果有中文路径的话,会不知道下到哪里去OωO这是怎么回事啊

  4. Bolero  Mac OS X(Mac OS X) / Safari 12.0(Safari 12.0)

    很好用...不过能不能把P站动图的delay写在zip里面(/ω\)原谅我的懒癌晚期

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

      新版本会将 delay 写在文件名里了

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

        大佬辛苦了

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

          但缺点是需要额外调用一次API多花时间,解析所需时间会增加,特别是像这样的画师
          https://www.pixiv.net/member.php?id=14414

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

            突然开车 社保了
            花点时间而已 挂个一夜根本不是事儿
            https://www.pixiv.net/member.php?id=30741595
            https://www.pixiv.net/member_illust.php?id=6241630

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

              关注了

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

                我可真是个大变态

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

      我看看API有没有给这个数据吧

      1. Bolero  Mac OS X(Mac OS X) / Safari 12.0(Safari 12.0)
  5. darksky  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.77(Google Chrome 70.0.3538.77)

    能做一下s3fs/gcsfuse/rclone mount的兼容么,我想在vps上把图下到gcs上,然而试了几个远程挂载都会文件读写错误,怀疑是temp放在了输出目录里的原因,远程fs可能对移动文件支持有问题。。。

    1. darksky  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.77(Google Chrome 70.0.3538.77)
      @darksky

      都是这个错误:
      events.js:167
      throw er; // Unhandled 'error' event
      ^

      Error: EIO: i/o error, close
      Emitted 'error' event at:
      at emitErrorNT (internal/streams/destroy.js:82:8)
      at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
      at process.internalTickCallback (internal/process/next_tick.js:72:19)
      我试试把临时文件夹挪到其他地方试试

      1. darksky  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 70.0.3538.77(Google Chrome 70.0.3538.77)
        @darksky

        把临时文件夹挪到/tmp下,然后renameSync用writeFileSync+readFileSync代替后不会出问题了。。。作者看看能不能加个flag啥的做下兼容?

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

          我换成了 fs-extra 的 moveSync,你试一下这个可不可以用

          1. darksky  Mac OS X 10.13(Mac OS X 10.13) / Google Chrome 63.0.3239.84(Google Chrome 63.0.3239.84)
            @神代綺凜

            谢谢,在二奶vps上测试没问题了
            大奶还在下图,过几天下完再试试?

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

          行,那我在下个版本改一下

  6. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 67.0.3396.99(Google Chrome 67.0.3396.99)

    用不了。。挂了VPN网页pixiv和pxder --login能用,但是登陆后下载就会是一直在加载的那个“.........”状态,因为重装了系统然后刚刚下回来。。

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
      @小纯洁

      中键单机小飞机任务栏托盘图标看日志有没有报错以及正在加载的时候是否有流量通过

      1. 小纯洁  Android 9.0(Android 9.0) / QQbrowser(QQbrowser)
        @神代綺凜

        刚刚试了下,可以了,不知道是不是电脑重启的原因。。。

        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
          @小纯洁

          行吧(

          1. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 67.0.3396.99(Google Chrome 67.0.3396.99)
            @神代綺凜

            方便扩个好友提交问题嘛?邮箱那个是我号

            1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
              @小纯洁

              星,不过等一阵子才有时间看下问题,最近比较忙

              1. 小纯洁  Android 9(Android 9) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
                @神代綺凜

                没事没事

          2. 小纯洁  Android 9(Android 9) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
            @神代綺凜

            connect和disconnect后面跟着的是各种网址域名,还不固定

          3. 小纯洁  Android 9(Android 9) / Google Chrome 57.0.2987.108(Google Chrome 57.0.2987.108)
            @神代綺凜

            然而下了没多久他又挂了,日志一直是两行connect一行disconnect在那里刷。。。。

    2. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 67.0.3396.99(Google Chrome 67.0.3396.99)
      @小纯洁

      代理用的socks://127.0.0.1:1080

  7. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)

    挂了代理后提示connect ECONNREFUSED 127.0.0.1:443,网页pixiv秒开,求解什么原因

    1. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)
      @小纯洁

      解决了,我pxder的代理没设本地。。。

  8. 逢坂大河  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)

    这个是只能下载关注的画师的插图吗QAQ

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
      1. 逢坂大河  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)
        @神代綺凜
        该评论仅登录用户及评论双方可见
        1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
  9. 浮华天籁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 63.0.3239.132(Google Chrome 63.0.3239.132)

    现在能下载了,就是每下载一次就要重新挂代理,而且每次只能下载5张图

  10. Kass  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)

    请问为什么我在登陆账号时会提示 read ECONNRESET OωO这句话是什么意思啊??

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

      挂代理

  11. prynnekey  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)

    要怎么登陆阿,话说用户名那里输入什麽,邮箱还是ID = =

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

      和你登录P站的方式一样

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

      邮箱

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

        提示 connect ETIMEDOUT 210.129.120.48:443 什麽鬼,順便一提我挂著VPN呢

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

          你有在pxder --setting中配置代理信息吗,你的代理可以正常在浏览器中访问p站吗

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

            話説 怎麽配置代理信息,我的是小飛機

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

              如果你没有改过本地端口就输入socks://127.0.0.1:1080

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

                完美解決問題!

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

            發現了,pxder --setting沒有配置OωO

  12. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)

    就是根据文件名判断的呀,而且我这里也没有出现你说的情况

  13. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)

    我没问题

  14. Asuna  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.26(Google Chrome 63.0.3239.26)

    登陆之后提示这个"unable to verify the first certificate"怎么办

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

      挂代理

  15. sunnic  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)

    我用pxder -b之后,然后它Collecting illusts of your bookmark .............................Client network socket disconnected before secure TLS connection was established。

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

      你需要使用代理

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

        我可能用了假代理

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

          你会不会是用了Vultr日本

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

            不知道。。
            我这边用代理浏览器可以上p站,然后用这个程序可以登录,但是一下载就会提示这段字。
            然后我换了一个代理就可以下载了_(:з」∠)_

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

              那行吧_(:3」∠)_

              1. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)
                @神代綺凜

                我用了nginx反代理上的网页P站,然后用下载器会提示这行字,所以是不是还得自己再去开个代理。。。(╯‵□′)╯︵┴─┴

                1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
                  @小纯洁

                  你可能是有些域名没反代到,比如app-api.pixiv.net,网页浏览时不会访问到,但是下载器需要
                  最好是直接设置代理

                  1. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)
                    @神代綺凜

                    请问cloudcone的VPS可以直连pixiv嘛?

                    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.100(Google Chrome 69.0.3497.100)
                      @小纯洁

                      可以

                  2. 小纯洁  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.92(Google Chrome 69.0.3497.92)
                    @神代綺凜

                    好吧。。。

  16. xopowo  Windows 10 x64 Edition(Windows 10 x64 Edition) / Sogou Explorer(Sogou Explorer)

    登入成功后,准备下载,提示请先登入是什么意思?|´・ω・)ノ

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

      提供一下过程具体信息,截图之类的

  17. fww115  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 68.0.3440.106(Google Chrome 68.0.3440.106)

    博主你测试一下这个pid59571266,其归属的uid66655抓取的时候还是会抛出异常

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

      感谢发现bug,已经修复,更新即可

      1. fww115  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 68.0.3440.106(Google Chrome 68.0.3440.106)
        @神代綺凜

        好的,谢谢ヾ(≧∇≦*)ゝ

  18. Asuna  Windows 7 x64 Edition(Windows 7 x64 Edition) / Google Chrome 63.0.3239.26(Google Chrome 63.0.3239.26)

    输入pxder --login以后出现
    getaddrinfo ENOENT oauth.secure.pixiv.net是什么意思啊

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

      请使用代理

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

      已修复,更新即可

  20. 随逝之息  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 67.0.3396.99(Google Chrome 67.0.3396.99)

    希望在setting中加入自定义命名规则吧,例如PName - PID 或者 PID - PName

    1. 神代綺凜  Windows 10 x64 Edition(Windows 10 x64 Edition) / Google Chrome 69.0.3497.81(Google Chrome 69.0.3497.81)
      @随逝之息

      这个我有考虑过,不过当时考虑到对画师文件夹的识别是依据UID以及周围符号(比如左右括号作为界定符)的,允许自定义就会产生很多额外的麻烦所以暂时没有做

      有时间我会考虑这方面