Giter Club home page Giter Club logo

pixivuserbatchdownload's Introduction

PixivUserBatchDownload 5

中文名:“P站画师个人作品批量下载工具”,简称 PUBD。

  • 为什么要做 PUBD?

    PUBD 的理念是在阅览 Pixiv 的过程中,看见喜欢的画师,可以直接一键下载该画师的所有作品。

    融入网页的体验,不需要专门打开其他程序。

  • PUBD 都有哪些功能?

    PUBD 的功能主要是可以下载画师所有公开作品,并且可以自定义下载路径、文件名。

    可以发送到家里的路由、租用的 VPS、家里的安卓智能电视等远程地址下载。(因为我单位上网收流量费😢)

程序运行图

程序下载

用户样式CSS 自 v5.8 开始已内置为自动加载,不再需要单独安装。

使用说明

请访问▶ PUBD Wiki ◀阅读。

程序结构与原理

PUBD 主体部分是采用 JavaScript 语言编写的用户脚本。

PUBD 通过 Pixiv 官方手机 APP 的后台 API 获取作者的作品列表,然后发送到指定的 Aria2 下载器下载,可选用第三方管理器对 Aria2 状态进行管理。

下载流程的结构如下图
结构图

后续功能开发状态

因为以下等原因,本项目已进入事实停止维护状态,所以后续的开发展望这几年没有添加任何代码。

  1. P站被封锁
  2. 色图太多,下了也看不过来
  3. 本职工作
  4. 有孩子了
  5. 肝手游
PUBD 5 已实现
  • 下载逐项发送(不卡死)
  • 输出文本信息(下载列表)
  • 子菜单快速完成操作(已开发但暂未使用)
  • 仅下载当前一幅作品
  • 下载过滤器
  • 点击通知自动关闭页面
  • 扩展菜单内直接打开程序
  • 使用 system.multicall 加快 Aria2 请求速度
  • 适应新的 oAuth 2.0 登录模式
PUBD 6 计划
  • 自动标记已快速收藏作者的推荐作品(目前只是添加明式标记,将来把多作者下载做了后,改成切换显示隐藏)
  • 使用 ES6 原生模板字符串替代 PUBD 自己实现的掩码写法(已开发暂未启用,准备 PUBD 6 迁移)
  • 废除自定义掩码,并修改为一个可以任意书写的代码块,可自由定义数组和自定义函数。
  • 多画师批量下载(储存画师>储存解析到的数据>一起发送到 Aria2) (IndexedDB 太复杂看不懂,但是是目前努力的方向,用 GM_setValue 储存可能数据多了会太卡。)
  • 每位画师的额外下载内容(用于下载画师头像、背景头图等);每个动图的额外下载内容(用于输出帧率)
未列上开发日程的计划
  • 自动清除 Aria2 下载完成项目 (暂时不是很必要)
  • WebSocket 协议 (暂时不是很必要)
  • 多语种支持(老旧代码太多,暂时无法搞)

License|许可协议

PixivUserBatchDownload © Mapaler 2021

此程序是免费软件。你可以将它根据“GNU通用公共许可证第三版(GPLv3)”重新分发和/或修改。

友情链接

PixivBatchDownloader
功能介绍:

  • 支持多种页面里的批量下载,可以设置多种筛选条件
  • 有一些辅助功能,如去除广告、快速收藏、看图模式等
  • 下载不依赖第三方工具
  • 支持多语言

pixivuserbatchdownload's People

Contributors

1349422030 avatar kidonng avatar lgq1349422030 avatar mapaler avatar sonic853 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pixivuserbatchdownload's Issues

账户登录时AJAX发送失败。

你好,按照说明全部安装完毕后,账户登录时AJAX发送失败。挂的VPN,首页测试的两个网址也能返回英文提示。这要怎么处理?

现在好像已不能使用,懒得开发

今天测试了一下不能用了,原因是P站直接返回空页面。于是网上找了一下,找到了PixivPy,研究了一下人家的实现方式。基本原理已经搞明白,但是得推倒从头开发。但是我目前没什么时间,不会马上出来。
有好多现成的工具,干嘛还要自己开发。而且本地的能完成好多JS完成不了的事情。
https://github.com/Nandaka/PixivUtil2

建议加个新功能

你这个插件很不错啊,要是能加个新功能就好了~,就是能下载当前作品业的内容, 我在你的基础上自己改了改加了这个功能,但是你要是更新了我又得改...

关于火狐57 + 油猴4.0程序运行失效问题

在11月份的时候,大概是stylish进行了一次更新,导致访问P站时的蓝色按钮不再出现了(但问题也许出在firefox的更新或者是P站网页版的更新,我不是很清楚),现在在stylish的管理样式中查看代码,发现14处错误,不知道如何修改,请求作者更新一下,感谢。

作品名稱中包含「/」的問題

「{illust.title}」參數設置後,如果插畫名稱中包含斜劃「/」,那就自動變成一層資料夾,例子:某單一張插畫,掩碼命名方式是用原作名稱命名,但原作名稱是「2011/05/21」,那就變成新增「2011、05」兩個資料夾後,最後那張插畫命名為「21」。

能不能把原作名稱「{illust.title}」這個檢測出「/」時轉換成「-」符號而不是增加資料夾?

我的掩碼設定「%{illust.user.id}_%{illust.user.name.split("@")[0]}%{(illust.page_count>1||illust.ugoira_metadata)?"/" + illust.title:""}/%{illust.title} (%{illust.id}_p%{page}).%{illust.extention}」

v3.0开发讨论

@river1 因为作者名称都是假名辨识度不高,而且还经常参CM而改名,导致下载路径改变。之前就在考虑将默认下载文件夹改为纯id数字,利用desktop.ini来显示Unicode名称。有很多解决方案,php很简单但是怕我的免费服务器承受不起研究了JS生成UTF-16文本的办法。今天又找到了一个纯JS将图片转为ico的库,可以再减少一个jpg转ico的程序。Javascript Favicon Creator
利用Aria2的种子下载可以将二进制数据发送下载,只不过得到的都是torrent扩展名,之后再用一个VBS将文件还原为正常状态并且应用上去,得到下图这种结果。但缺点是只有Windows下才支持。
用户需要做的就是每次下载后运行一次VBS,你觉得这个功能如何。

image 4

image 5
文件夹下将会多这两个文件
image 6

TamperMonkey扩展菜单中没有按钮

如题:
虽然脚本已经安装,但在扩展菜单中并没有出现“PUBD-下载该画师”及“PUBD-选项”两个按钮;
(Aria2和webui-aria2都已经配制好了)
求解决

按分数过滤这功能求实现

我看了作者的 json 示例,也没找到分数的项呀,
如果可以,希望实现分别按分数过滤下载和 Tag 过滤下载这两个功能。
拜托大大。

远程Aria2连接失败

Chorme扩展中YAAW2可以成功远程连接。
直接拷贝YAAW2中成功的配置到插件,断开YAAW2,插件显示“Aria2连接失败”。
rpc链接中含有token。
控制台好像可能有反应了一些问题?附上截图
image

登陆账号报错

之前都能正常使用,最近就一直登陆报错
m _y u21 hp u3hsl ge
错误代码:1508
access_denied
这该怎么弄

單圖要如何變成單一資料夾

在"多圖"情況下的時候 可以很方便的自動把標題抓來命名資料夾檔名

但"單圖"時 他並不會自動建立資料夾

請問下載"單圖"的情況下
要如何變成自動建立單圖資料夾與自動命名標題

謝謝

Connection reset by peer

debian + lantern 成功连接rpc模式,下载输出:

04/25 10:55:03 [ERROR] CUID#816 - Download aborted. URI=http://i4.pixiv.net/img-original/img/2012/01/18/20/54/33/24455711_p0.jpg
Exception: [SocketCore.cc:794] errorCode=1 接收数据失败, 原因: Connection reset by peer

打开链接也是403 Forbidden nginx
奇怪了,两天前 ubuntu + lantern 操作没有任何问题。系统环境下也可以联网。

errNum=13 errorCode=18 无法下载,请求帮助

创建任务正常,但是在下载过程中出错,所有图片全部失败。win10系统,控制台代码如下:
08/19 21:00:48 [NOTICE] Download GID#59bfbfa43640c0a9 not complete: D:/PixivDownload//53872504_p0.jpg

08/19 21:00:48 [ERROR] CUID#27 - Download aborted. URI=https://i.pximg.net/img-original/img/2015/12/04/09/27/45/53872482_p0.jpg
Exception: [AbstractCommand.cc:403] errorCode=18 URI=https://i.pximg.net/img-original/img/2015/12/04/09/27/45/53872482_p0.jpg
-> [RequestGroup.cc:760] errorCode=18 Download aborted.
-> [util.cc:1597] errNum=13 errorCode=18 Failed to make the directory D:/PixivDownload/, cause: Permission denied

新手,不知所措,还请帮助

能否支持无损的动图下载

看到之前的讨论说ZIP会压缩,而且背景不会透明。
能否下载时候把无损的格式转换成压缩格式,在设置里能选择格式zip、rar、ugoira
如果不行的话在设置里添加一个选择下每一帧还是下zip格式的选择吧
另外可否在关注中做一键下载公开、非公开画师(批量画师下载),
自己的公开和非公开收藏(批量下载自己收藏)
下了几个画师,总的来说这款插件很棒!

v5.0开发计划

Q:为什么跳过4.0?
A:4.0计划其实之前在3.0的时候已经有了,但是因为P站改版导致化为泡影,于是直接跳到新的计划。

Q:什么时候能出来?
A:以三次元工作为优先,毕竟要养家。目前三次元有比较重要的事情排在前面。

Q:5.0版原理,能用多久?
A:1~3版都是解析的桌面版网页,通过研究阅读,准备采用PixivPy的方式,里用P站手机APP使用的API进行,因此到时即便你的网页端也登陆了,也需要在我的脚本里用账户密码登录来获取APP使用的Token,好处就是这个API应该改得不是那么快,所以可能脚本能用比较久。另外准备暂时放弃V3.0加入的自定义文件夹功能,优先完成下载功能。

Q:在哪里看新版的开发进度?
A:查看最新的开发进度https://github.com/Mapaler/PixivUserBatchDownload/tree/develop_v5已合并到Master

关于token有效期是否可以增加

关注的比较多画师,按每50个画师批量打开,然后用模拟按键下一批,等下完了再继续下一批。
这样经常会要反复登陆,不知道这个有效期是否跟P站有关?
自己根据代码修改过超时时间,但实际还是1小时就要重新登录了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.