吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1981|回复: 20
上一主题 下一主题
收起左侧

[其他原创] 【JS脚本】批量下载QQ邮箱附件

  [复制链接]
跳转到指定楼层
楼主
nctot 发表于 2024-3-6 15:13 回帖奖励
本帖最后由 nctot 于 2024-3-7 09:13 编辑

----------------------------------2024.3.7 修改--------------------------------------------------------------
增加备注
s=0.1;//每个附件下载的时间间隔,可以自行修改,单位:秒
-------------------------------------------------------------------------------------------------步骤1.设置【下载内容保存位置
步骤2.取消勾选【下载前询问每个文件的保存位置

步骤3.打开【QQ邮箱>附件收藏>全部附件】
步骤4.按【F12】
步骤5.切换到【控制台 或CONSOLE】
步骤6.粘贴脚本并执行
PS:脚本会下载到最后一页,中途不想下载只能刷新结束.【本来想写成可以指定页数的,后续再看看吧】

     第一次执行会 找不到附件,按下面方法操作【请大佬赐教

           1.按下 Ctrl+Shift+C
           2.鼠标挪到第一个附件 上方的 【文件名】,然后点一下
           3.重新执行下代码

[JavaScript] 纯文本查看 复制代码
down();
function down(){
        s_down=5;
        url="https://lib.sinaapp.com/js/jquery/1.12.4/jquery-1.12.4.min.js";
        var script = document.createElement('script');
        script.src = url;
        document.getElementsByTagName('head')[0].appendChild(script);
        console.log("QQ邮箱半自动批量下载");
        console.log(s_down+"秒后开始下载...");
        setTimeout(function(){
                if($(".ico_attach.ico_ndownload").length==0){
                                console.log("没有找到附件,按下面方法操作");
                                console.log("1.按下 Ctrl+Shift+C");
                                console.log("2.鼠标挪到第一个附件 上方的 【文件名】,然后点一下");
                                console.log("3.重新执行下代码");
                }else{
                        console.log("本页有"+$(".ico_attach.ico_ndownload").length+"个附件");
                        arrFileUrl=[];
                        //$(".ico_attach.ico_ndownload").click();
                        $(".filecolumn.ft_l_listItem").each(function(){
                                li=$(this);
                                url=li.attr("downurl");
                                name=li.attr("filename");
                                var j={"url":url,"name":name};
                                arrFileUrl.push(j);
                        });
                        $("#div_jindu").remove();
                        flag=0;
                        s=0.1;//每个附件下载的时间间隔,可以自行修改,单位:秒
                        $("body").before("<div id='div_jindu' style='background:white;position: fixed;z-index: 99999999;top: 21px;left: 234px;'></div>");
                        span="";
                        count=arrFileUrl.length;

                        line_count=10;

                        for(var i=0;i<count;i++){
                                if(i%line_count==0&&i!=0){
                                        span+="<br>";
                                }
                                span+="<button style='height:25px;margin-right:5px;background:lightgrey;' class='file"+(i)+"'></button>";
                        }
                        $("#div_jindu").append(span);



                        fileUrl=arrFileUrl[flag].url;
                        fileName=arrFileUrl[flag].name;
                        downloadFile(fileUrl,fileName);

                        // Fetch the file using the fetch API
                        function downloadFile(fileUrl,fileName){
                                fetch(fileUrl)
                                .then(response => response.blob())
                                .then(blob => {
                                        $("#div_jindu").find(".file"+flag).css("background","lightgreen");
                                        //console.log(fileName+"下载完成");
                                        var downloadLink = document.createElement('a');
                                        var blobUrl = URL.createObjectURL(blob);
                                        downloadLink.href = blobUrl;
                                        downloadLink.download = fileName;
                                        document.body.appendChild(downloadLink);
                                        downloadLink.click();
                                        document.body.removeChild(downloadLink);
                                        URL.revokeObjectURL(blobUrl);
                                        flag++;
                                        if((flag)<arrFileUrl.length){
                                                setTimeout(function(){
                                                fileUrl=arrFileUrl[flag].url;
                                                fileName=arrFileUrl[flag].name;
                                                downloadFile(fileUrl,fileName);
                                                },s*1000);
                                        }else{
                                                
                                                next=$("[class*=arrow_disable]").length;
                                                if(next>0){
                                                        alert("全部下载完毕");
                                                }else{
                                                        console.log("第"+$(".button_gray_l.page_count").text().split("/")[0]+"页下载完毕,3秒后继续下一页");
                                                        $(".ico_attach.arrow_right").click();
                                                        setTimeout(function(){
                                                                down();
                                                        },3000);
                                                }
                                        }
                                })
                                .catch(error => console.error('Error downloading the file:', error+fileName+"下载失败"));
                        }
                        
                }
        },s_down*1000);
}


进度

日志提示

免费评分

参与人数 4吾爱币 +10 热心值 +4 收起 理由
WLW1234567 + 1 + 1 用心讨论,共获提升!
0qxqy0 + 1 + 1 我很赞同!
scoxx1 + 1 + 1 谢谢@Thanks!
爱飞的猫 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| nctot 发表于 2024-3-8 09:11 |楼主
文西思密达 发表于 2024-3-7 13:14
大佬有否计划新增一个 批量下载腾讯文档到本地的js

哈哈哈,如果有做,在艾特你.

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
文西思密达 + 1 + 1 谢谢@Thanks!

查看全部评分

推荐
 楼主| nctot 发表于 2024-3-7 09:19 |楼主
y294945022 发表于 2024-3-7 03:56
是指整个邮箱中的所有邮件的附件吗? 是否可以勾选,或分类、文件夹 下载?

目前是  从当前页  下载到最后一页
下载前 可以先做下筛选
3#
ghj388486 发表于 2024-3-6 16:21
操作步骤有点多,但胜在解释通俗易通,试试!
4#
 楼主| nctot 发表于 2024-3-6 16:49 |楼主
ghj388486 发表于 2024-3-6 16:21
操作步骤有点多,但胜在解释通俗易通,试试!

  之前同事问能不能搞, 有刚需,就不麻烦.
5#
秒沉的节奏 发表于 2024-3-6 19:26
挺好,就是说不用一个一个挨个下载了,是挺不错的哈哈哈
6#
goblack 发表于 2024-3-6 20:38
超大附件不在这个位置。。所以基本上可以认为每个附件都是小于50MB的。
附件之间等待时间过短,虽然目前腾讯不会出现拦截,但是最好还是让附件新建任务之间的等待时间更长一些。
避免对腾讯负载过大被拦截。以及让老电脑卡死。最好是附件之间也是等待5秒,反正无需操作就是等待。

头像被屏蔽
7#
hjsen 发表于 2024-3-6 21:40
提示: 作者被禁止或删除 内容自动屏蔽
8#
qianyi9 发表于 2024-3-6 23:50
好东西,谢谢楼主了
9#
y294945022 发表于 2024-3-7 03:56
是指整个邮箱中的所有邮件的附件吗? 是否可以勾选,或分类、文件夹 下载?
10#
 楼主| nctot 发表于 2024-3-7 09:16 |楼主
goblack 发表于 2024-3-6 20:38
超大附件不在这个位置。。所以基本上可以认为每个附件都是小于50MB的。
附件之间等待时间过短,虽然目前腾 ...

感谢指教!
已添加说明,使用时,可以根据实际情况,修改间隔时间.
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 19:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表