Saber 酱的抱枕

Fly me to the moon

03/1
2016
学习 软件

仙尊pixiv图片批量下载器

该版本已停止维护,请转到纯JavaScript版


17.04.18 更新至v1.9.2。

今天新增了一些功能,适应p站升级https。因为同时维护两个版本很麻烦,而且p站升级https后程序遇到了难以解决的问题(https里引用http的php是不行的),以及我现在的网络状况也基本无法使用带php的版本……种种原因,该版本停止维护,感谢大家的支持~


该版本已停止维护,请转到纯JavaScript版

下载完整安装包  查看视频教程(新手向)

greasyfork页面(可在此页面安装UserScript,但php文件仍需另行下载。)

本工具可以批量下载pixiv的画师作品自己以及他人收藏的作品各排行榜作品pixivision作品,也可在tag搜索页筛选作品并批量下载。本工具使用JavaScript抓取页面,php文件下载图片。兼容chrome和Firefox,IE未测试。php需要运行在web环境中。

由于使用说明文字较多,所以做了一个word文档,可以在完整版安装包里下载。

简单的使用说明如下:

首先把php放到web环境中,之后去js里配置好php文件的路径,最后复制js代码在p站页面的控制台中执行,页面上就会出现下载按钮。点击之后设置参数即可使用。(当然你要先登录啦~

批量下载pixiv图片

批量下载pixiv图片

为了便于通知更新和交流反馈,建立仙尊Pixiv下载器交流QQ群:499873152

仙尊pixiv图片批量下载器

  1. BattleCat
    Google Chrome 55Google Chrome 55Windows 7 x64 EditionWindows 7 x64 Edition

    有没有办法可以在Apache设置里弄个代理
    或者直接写在PHP里
    直连访问P站有点慢

    回复
    1. saber 文章作者
      Google Chrome 55Google Chrome 55Windows 7 x64 EditionWindows 7 x64 Edition

      代理我没弄过,你可以自己试试,在chrome就可以设置代理服务器

      回复
      1. BattleCat
        Google Chrome 55Google Chrome 55Windows 7 x64 EditionWindows 7 x64 Edition

        这个下载的时候调用了Apache
        所以在chrome设置代理涉及不到
        昨晚去Apache乱设置差点玩崩了

        回复
        1. saber 文章作者
          Google Chrome 55Google Chrome 55Windows 7 x64 EditionWindows 7 x64 Edition

          对哦……不过我也没设置过,另外代理ip也不知道用哪个好,甚至代理可能还要经常换,挺麻烦的==
          实在不行用迅雷下载吧

          回复
    1. saber 文章作者
      Google Chrome 55Google Chrome 55Windows 7 x64 EditionWindows 7 x64 Edition

      代码确实有些小变动,图片变成懒加载的了。明天我更新一下下载器的代码,到时候我再通知你一下。

      var img_thumbnail=document.querySelectorAll("._thumbnail");
      for (var i = 0; i < img_thumbnail.length; i++) {
      img_thumbnail[i].src=img_thumbnail[i].getAttribute("data-src");
      }

      回复
    1. saber 文章作者
      Google Chrome 55Google Chrome 55Windows 7 x64 EditionWindows 7 x64 Edition

      这是因为与P站链接不够流畅导致的,你可以试试这个:
      /%E6%89%B9%E9%87%8F%E8%8E%B7%E5%8F%96pixiv%E5%9B%BE%E7%89%87%E7%9A%84url.html

      回复
  2. 黑夜里的黑猫
    Google Chrome 54Google Chrome 54Windows 10/11Windows 10/11

    请问能不能像《OX163 plus》一样增加“导出html”功能以调用迅雷或者其他下载器进行下载。这是《OX163 plus》的地址:http://www.shanhaijing.net/163/

    回复
    1. saber 文章作者
      Google Chrome 53Google Chrome 53Windows 7 x64 EditionWindows 7 x64 Edition

      用迅雷下载不会遇到防盗链措施的限制吗?
      你用ox163导出p站图片的url,可以用迅雷下载吗?

      回复
  3. JayMi
    Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

    有些圖片偶爾會下載不完全
    蠻常卡在最後幾張 等蠻久才會下載好

    回复
    1. saber 文章作者
      Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

      我感觉网络问题的可能性比较大==有时候我这边也会遇到

      回复
  4. Safari 9Safari 9iPad iOS 9.2.1iPad iOS 9.2.1

    你好!这个工具很好很强大,但不过我在使用中发现了一些问题
    首先是下载专辑图片,不知是什么原因,点击下载专辑图片后,显示已获取20个网址,随后弹出“无作品需下载,本次任务完成”不知是什么原因,反正专辑几乎都无法下载,另外,就是下的时候有时会出现一些图片下来只有58B的损毁图片,而重新下载也没法解决。
    还有就是我的一点建议(`・ω・´)因为我关注了百来个画师,所以每天更新都有很多图片,能不能增设一个下载关注的新作品页面功能?
    以上就是我的问题,谢谢你的工具,帮了我大忙

    回复
    1. saber 文章作者
      Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

      专辑图片无法下载是因为cookie原因,正常情况下是需要带上p站的cookie才能下载到专辑图片的,但是cookie失效很快。在代码里是使用我的cookie去下载的,但如果我的cookie失效就不能下载了。这个问题在说明文档里有详细的描述,你也可以参考文档里的步骤,使用你自己的cookie信息,这样当你有需要时,可以随时修正失效的cookie。

      下载到54B的图片的话可以把图片id发给我看看,分析一下原因。

      至于下载画师新作品的功能我之前没做,主要是新作品的质量难以保证,内容也很杂乱,不如自己去找tag、找特定画师下载。(其实也是我懒)
      使用下载器到后期有个问题,就是下载的太多了,下载了数万、数十万张图片,实际上很多都是没再看过,所以我是不太赞成一股脑下载一堆的。
      至于以后会不会做,还不确定。欢迎你可以加群交流~

      回复
  5. JayMi
    Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

    請問可以把檔名只改成"58206794_p0.png" 像是這樣的嗎
    因為檔案會因為特殊符號或是日文字變的怪怪的 加上日期有點長

    還有 按"收藏數篩選"有由高排到低 這個功能嗎

    回复
    1. saber 文章作者
      Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

      名字我感觉不用改成只保留id的吧,现在是保留tag方便搜索使用
      tag搜索页的结果都是会排序的

      回复
      1. JayMi
        Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

        那請問大大有方法可以改嗎 或是刪除哪些代碼
        因為標題好多空白

        回复
    2. saber 文章作者
      Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

      如果你是繁体的操作系统的话可能汉字和日文会乱码
      php里有一句
      $filename=substr($filename,0,$filenameLength-4)."-".$tag.substr($filename,$filenameLength-4,$filenameLength);// 将tag插入到文件后缀名之前
      你尝试把此行删掉或者注释掉,应该不会包含tag了

      回复
        1. saber 文章作者
          Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

          那个是旧版本的,没有添加tag,但是会标注作品名。你可以下载最新版本的php和js文件使用,然后在新版本php中删掉那一句

          回复
          1. saber 文章作者
            Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

            以前 我也用过类似的脚本,刚才找了几个看了下代码,基本都是用blob格式,还涉及到zip和gif库,我的水平还做不了,这个以后再看吧。
            另外我也推荐给你一个UserScript:
            https://greasyfork.org/zh-CN/scripts/6534-ugoira2gif/
            它会在动图的收藏按钮旁添加一个下载按钮,而且速度比其他的下载pixiv动图的脚本更快。

            回复
        2. saber 文章作者
          Google Chrome 52Google Chrome 52Windows 7 x64 EditionWindows 7 x64 Edition

          我上面推荐的那个脚本先别用了,下载下来的图片质量损失很明显。
          其实这些脚本转换后的gif都会有质量损失(大概是因为gif只支持256色,能显示的颜色数比jpg要少),而且不同脚本转换后的损失还不完全相同,汗

          回复
    1. saber 文章作者
      Google Chrome 51Google Chrome 51Windows 7 x64 EditionWindows 7 x64 Edition

      因为这个一讨论起来就容易讨论很久
      一旦别人用着出了问题,可能就得讨论很多层

      回复
        1. saber 文章作者
          Google Chrome 51Google Chrome 51Windows 7 x64 EditionWindows 7 x64 Edition

          挺不错的,很方便。可惜我不怎么喜欢看电影 _(:3」∠)_

          回复
    2. saber 文章作者
      Google Chrome 51Google Chrome 51Windows 7 x64 EditionWindows 7 x64 Edition

      其实我还想录个视频教程来着,但宿舍是宿舍人多 我也不好意思弄 一个人自说自话显得好怪

      回复
      1. saber 文章作者
        Google Chrome 50Google Chrome 50Windows 7 x64 EditionWindows 7 x64 Edition

        你好
        之前我没有考虑到繁体问题。请你试试下载更改过的getpixivimg.php:
        http://7xk7g2.com1.z0.glb.clouddn.com/getpixivimg.php
        将其覆盖原来的getpixivimg.php文件,然后再下载图片试试。

        新的getpixivimg.php中我将文字转换为了big5编码,这只是一个尝试,不知能否解决问题。请你先试一试啦~

        回复
          1. saber 文章作者
            Google Chrome 50Google Chrome 50Windows 7 x64 EditionWindows 7 x64 Edition

            文件名这个问题我在寻求别人的帮助。

            对于第二个问题,你说的筛选按钮是“按收藏数筛选”吧。有一些需要注意的地方:
            1.pixiv的tag搜索页面,用户可查看的页数只有1000页。
            2.pixiv的“按人气排列”所给出的高人气作品也是在这1000也的范围内的。
            所以如果你想要筛选所有能抓取的作品,你应该修改筛选参数中的页数为1000。这样才能得到和“按人气排序”一样的结果。如下:
            http://imgur.com/O1wZljE
            http://imgur.com/WKlhSed

            你可以抓取1000页试试,看最后的结果是否正确,然后告诉我(因为我也想验证一下在不同的排序中抓取结果是否一致)。

            回复
          2. saber 文章作者
            Google Chrome 50Google Chrome 50Windows 7 x64 EditionWindows 7 x64 Edition

            这个是有点诡异,这也是我之前没有考虑到的。你可以再试试在新投稿顺序里筛选==

            回复
          3. orocannoneer
            Google Chrome 51Google Chrome 51Windows 10/11Windows 10/11

            空白應該是因為BIG5中沒有日文漢字和假名可對應的關係……
            都已經Win10了,還是沒辦法直接創建UTF-8格式的檔名嗎?

            回复
          4. saber 文章作者
            Google Chrome 50Google Chrome 50Windows 7 x64 EditionWindows 7 x64 Edition

            简中windows的内码是GBK,繁中是BIG5。原因我也不是很清楚 总之是个麻烦

            回复
          5. orocannoneer
            Google Chrome 51Google Chrome 51Windows 10/11Windows 10/11

            於是我直接系統轉成日文碼,php改成shift-jis了...
            不知何時unicode才能統治世界

            回复
          6. saber 文章作者
            Google Chrome 51Google Chrome 51Windows 7 x64 EditionWindows 7 x64 Edition

            台湾人民是不是懂日语的比较多呢~
            繁体windows也能显示日文的,现在的情况是我们不清楚它是不是混用多套编码……也无从模仿。头疼

            回复
    1. saber 文章作者
      Google Chrome 49Google Chrome 49Windows 7 x64 EditionWindows 7 x64 Edition

      我现在是只用自己的了,毕竟是自己写得,最符合自己的需求。
      ox163不能排除作品类型、过滤tag,也不能在tag搜索页面筛选。这算是我这个脚本的特别之处吧

      回复
        1. saber 文章作者
          Google Chrome 49Google Chrome 49Windows 7 x64 EditionWindows 7 x64 Edition

          我也不太会wp,模板是用别人做的,自己只在后台发发文章,添加点功能。你要是有兴趣可以装一个玩玩哈

          回复