ilj 发表于 2024-6-17 17:03

【油猴脚本】蓝奏云批量输出下载链接

本帖最后由 p8e2cn5eopn 于 2024-6-17 22:09 编辑

这个是一个比较小众的需求,不知有没有人需要,但还是决定把自己脚本放出来供大家使用,如果能够帮到忙了,希望给个好评。
测试链接:https://kwt767.lanzout.com/b044uyehe
注意:本脚本只匹配此一测试链接,如果需要变更可自行修改脚本。
使用方法:安装脚本后,点击左上角“main”按钮后请耐心等待,直至输出全部链接并会自动复制到剪贴板中。链接保质期短,需尽快使用。
以下是脚本代码:
// ==UserScript==
// @name         蓝奏云批量输出下载链接
// @AuThor       runwithfaith
// @compatible   firefox
// @homepage   https://greasyfork.org/users/718683
// @Icon         http://lanzout.com/favicon.ico
// @grant      GM_setValue
// @grant      GM_getValue
// @grant      GM.setClipboard
// @license      MIT
// @match      https://kwt767.lanzout.com/b044uyehe
// @require https://update.greasyfork.org/scripts/435697/1387554/mylib.js
// @require      https://fastly.jsdelivr.net/npm/sweetalert2@11.10.3/dist/sweetalert2.all.min.js
// ==/UserScript==
//首先,把目录下所有的文件的链接的iframe链接得到.srcs
my.addBtns(function main(){
    const uw=unsafeWindow,
          names = document.querySelectorAll('#name'),
          len=names.length,
          ifr=my.append(`iframe`,document.documentElement,'');
    uw.strs='';uw.srcs=[];
    (function xhrForSrc(index){
      const xhr = new XMLHttpRequest(),ahref=names.querySelector('a').href;
      // alert(ahref);
      xhr.open('GET', ahref, true);
      xhr.onload = async function () {
            const parser=new DOMParser(),
                  xmlDoc=parser.parseFromString(xhr.responseText,"text/html"),
                  src = xmlDoc.querySelector('iframe').src;
            uw.srcs=src;
            ifr.src=src;
            ifr.onload=async function(){
                await sleep(1000);//等待ifr的ajax加载
                uw.strs+=ifr.contentDocument.querySelector('a').href+'\n';
            }
            await sleep(2000);//等待ifr加载
            if(index<len) {
                Swal.fire('正在加载第'+index+'个iframe');
                Swal.showLoading()
                return xhrForSrc(index);
            }
            else {
                // cl(srcs);
                GM.setClipboard(uw.strs)
                Swal.fire(`已复制`);
                return;
            }
      };
      xhr.send(null)
    })(0)//从names起
});
function sleep(time){
    return new Promise((resolve) => setTimeout(resolve, time));
}

ilj 发表于 2024-6-18 18:02

河北偏北 发表于 2024-6-18 08:24
复制完成后怎么下载?
在迅雷里面新建任务,粘贴链接,即可下载

ikunkunkun 发表于 2024-6-17 17:57

挂到greasyfork不行吗?这样比较方便{:1_887:}

Light紫星 发表于 2024-6-17 17:54

感谢楼主分享,确实需要这个功能

ilj 发表于 2024-6-17 18:13

ikunkunkun 发表于 2024-6-17 17:57
挂到greasyfork不行吗?这样比较方便

现在不太在greasyfork那边更新了,代码需要维护

0jiao0 发表于 2024-6-17 18:40

尴尬,我不会改

ruanxiaoqi 发表于 2024-6-17 20:21

感谢分享这么实用的干货,确实可以批量下载

richardzxq 发表于 2024-6-17 20:45

下载试试。谢谢分享。

afti 发表于 2024-6-17 21:19

蓝奏云下载很方便,感谢分享

liuyanjie2012 发表于 2024-6-18 06:13


感谢楼主分享,确实需要这个功能

河北偏北 发表于 2024-6-18 08:24

复制完成后怎么下载?
页: [1] 2 3
查看完整版本: 【油猴脚本】蓝奏云批量输出下载链接