Mapaler / PixivUserBatchDownload

P站画师个人作品批量下载工具,UserScript + Aria2。可高度自定义重命名,发送到本地或远程(如路由器)下载。
GNU General Public License v3.0
1.04k stars 72 forks source link

关于PUBD在画师主页时下载按钮的错位问题,以及关于作者相关信息导出的疑问 #69

Closed Mrodot closed 4 years ago

Mrodot commented 4 years ago

SC20200702231249 RT,在作者页面的PUBD下载按钮会重叠于页码按钮之上。尝试回退版本到5.10.95后,发现图标回到了搜索框下方。 SC20200702231249

另外不知道能否在批量下载某作者的全部作品时,增加一个可选项,将作者id、自我简介等相关信息输出到一个文本文件里呢?还有就是能否将作者的头像、首页海报也一同下载呢?

Mapaler commented 4 years ago

新版为了解决P站经常改版导致的按钮错位问题,改为每次动态搜索按钮插入位置。你的第一个问题我未能复现,这才是正确的位置。 Screenshot_2020-07-03-16-54-48 你可以给我问题发生的具体页面看看。


输出到文本文件你只是需要文本还是需要文件? 以下哪种是你的需求

  1. 输出到文本框,可以自由复制
  2. 输出本地文件下载连接点击下载
  3. 将文件发送到图片下载文件夹内
Mrodot commented 4 years ago

不好意思。。前面我的表述不够准确。我举个例子:

比如画师id:15181268 画师的主页链接:https://www.pixiv.net/users/5838770 画师的插画页:https://www.pixiv.net/users/5838770/illustrations 首先是在画师主页上似乎没有找到PUBD的下载按钮。。然后在点开画师的插画页时,PUBD的下载按钮重叠在了页码的上方。然后具体情况在如下两个截图中。

然后输出到文本文件其实就是您提到的第三点,获取到作者的简介内容后,保存成文件然后发送到图片下载文件夹内。如果可以的话,能否顺便把作者的头像和首页头图也一并下载呢?谢谢大佬!

Mapaler commented 4 years ago

我这里试了火狐、Chrome,未登录和登陆,都没有问题。我发现你的图片里似乎没有广告,建议一下是否是广告屏蔽扩展影响的,关闭除了Tampermoney和梯子之外的扩展试试,找一找问题出在哪里。 未命名-1 另外你不登陆看看,因为登陆后的结构也可能和未登录不一样。

Mapaler commented 4 years ago

PUBD的结构是,脚本只负责获取信息,将下载地址和保存路径传递给Aria2,无法直接传递文本文件给Aria2。

所以要么有一台额外的第三方服务器生成这个txt,要么只能下载API作者信息的json文件(既 user 掩码的内容) 头像和背景图导师能从这个json里面获得下载地址,但是因为是手机app的api,所以给的链接都不是最大的图,比如背景图 电脑上给的是这个 https://i.pximg.net/c/1920x960_80_a2_g5/background/img/2019/11/01/02/21/18/8217405_42c382d85e02eb0479514b55e8c74e11.jpg 手机API获得的是这个 https://i.pximg.net/c/1200x600_90_a2_g5/background/img/2019/11/01/02/21/18/8217405_42c382d85e02eb0479514b55e8c74e11_master1200.jpg 倒是可以替换字符串解决

当然这个功能需要额外去做了,不过这功能和我的开发计划有冲突,所以应该是会往后安排。如果会js你可以自己修改

Mapaler commented 4 years ago

要不有空的话用qq远程协助我看看?因为我这边不知道你那边的代码结构是怎么样的。就是代码结构的问题

Mrodot commented 4 years ago

原来是这样,感谢大佬指点。主要是最近自己在研究一个部署在本地的画师作品管理系统,所以在归类作者的时候需要画师的这些信息进行分组。目前我还是自己手动操作吧,毕竟对js一窍不通,还在学习中。期待大佬后续的开发 :D

另外关于按钮错位问题,经过多次尝试后,发现这个问题只会在pixiv网页端已登录的情况下才会发生。如图:(已关闭ADP和其它脚本)(PUBD版本:5.11.101,且未修改过代码)

可以看到登录前和登录后网站的UI似乎发生了些微改变,不知道是否是造成按钮错位的原因呢?

Mapaler commented 4 years ago

所以问题就是出在不同人账号的不同设置导致网页有些部分不显示,所以我的正常,你的没有。我找了另一个用户测试也是首页没按钮,但是作品页按钮正常。 我给他的debug代码显示,开始按钮插入一次又被删除后就找不到插入点了(我这里的正常流程是会先被P站删除一次然后再次成功插入) 你看要不要把你的账号给我看看,我找一下结构差异出在哪里。(愿意的话可以直接发邮箱)

Mapaler commented 4 years ago

如果是用文本模式输出你想要的内容的话,我可以研究一下给出个解决方案。

Mapaler commented 4 years ago

我找的另一个人远程协助测试发现和你问题一样的,但是他不愿意借帐号给我开发。

Mapaler commented 4 years ago

我通过远程协助,大概看了下结构,如果能用的话就先这样用着吧。

另外加上了在下载当前画师所有作品窗口按住 Ctrl 时点击 文本输出 按钮,文本只输出一次的功能(此时只有 user 对象生效) 相关文本输出掩码为

作者信息的完整JSON是
%{JSON.stringify(user)}

作者的自我简介是
%{user.user.comment}

作者头像是
%{user.user.profile_image_urls.medium}
原尺寸大小为
%{user.user.profile_image_urls.medium.replace("_170.", ".")}

作者标题背景是
%{user.profile.background_image_url}
原尺寸大小为
%{user.profile.background_image_url.replace("1200x600", "1920x960").replace("_master1200", "")}

Screenshot_2020-07-08-18-57-22