其他分享
首页 > 其他分享> > 分享的内容太多?教你如何批量导出度盘分享目录

分享的内容太多?教你如何批量导出度盘分享目录

作者:互联网

你有没有遇到过朋友给你分享资源的场景,一般人都有过,绝大部分场景下,我们直接转存就好了,但是也有少数情况下我们发现处于诸多限制,比如自己网盘容量太低或者是别人分享的内容太多,导致我们没有办法一次保存下来所有的分享文件。这个时候我们就需要取其精华去其糟粕,然后你就需要把目录导出来供自己选择,再根据目录索引到自己需要的资源然后保存到自己的网盘。

需求

我们来理一下,这里有两个需求:

  1. 能够批量导出整个分享的目录结构,最好是能知道这个目录下有多少个文件,总共有多大,以便于我们能计算出每一次保存到网盘的文件是哪些。
  2. 能够按照自己的需求导出指定目录结构,因为当目录达到一定程度下的时候,全部导出来干扰资源的搜寻;

对策

我们先想想有哪些方案可以实现,在此之前自然是百度一下,看看别人是怎么做的。
在这里插入图片描述
总结了一下,得出了5种方案:

  1. 买软件,有个叫网盘批量处理助手的东西。我通过搜索找到了他的下载链接,然后弄了一个小号使用了一下,发现效果很差。然后我才发现,这个是个付费功能,要花199元(虽然觉得应该支持开发者,但是我真觉得有点贵了)。
  2. 百度网盘有个缓存功能,他会把目录结构缓存到本地,但是前提是你要点开过这个目录,嗯,这个貌似很费事,不予采纳;
  3. 自己写钩子脚本,在使用网页打开分享链接的时候,把我们的脚本挂上去自动查询处理并导出目录结构;
  4. 完全实现http请求,模拟整个浏览器的操作,根据请求头,返回等查询到目录数据在导出;
  5. 通过接入百度网盘Api的方式,调用接口实现;

实践

方案有了,接下来就是取舍。首先,我不想花钱买软件,一方面是担心信息泄密,另外一方面是我技术牛逼(穷);那么就只有4,5最合适,但是我想了想,如果我写好了想给朋友用,别人还要去申请api那不是很麻烦,于是最终方案敲定为通过油猴脚本实现。

既然是用油猴,免不了上油猴的脚本商店找找是不是已经有实现了的脚本,这样的话我改吧改吧就能对接上我自己的需求了。于是我打开了脚本商店greasyfork,然后使用关键词

“网盘导出分享目录”

搜索后,真的有人写过,感谢互联网,感谢作者。于是我安装了该脚本。安装,真的能愉快的跑起来。只不过只能导出整个目录,在子目录中选择导出,会提示我需要在主目录下获取,如果目录结构很大,就会很卡。所以我决定改造源码。

巧的是,我通过下载github上的源码发现人家也已经实现了这个功能。但是github上的源码就是跑不起来。然后我发现这个源码确实有点问题,因为有人提了BUG:
在这里插入图片描述

通过一些排查,我发现只要修改一个地方就能运行。

else if(g_type == 2){
        dir_url ="https://pan.baidu.com/mbox/msg/shareinfo?msg_id=" + dir_info[i].msg_id + "&page=" + n_page + "&from_uk=" + dir_info[i].from_uk + "&gid=" + g_gid +"&type=2&num=100"
        +"&bdstoken=你的bdstoken&channel=chunlei&web=1&app_id=你的appid&logid=你的logid=&clienttype=0";
        if(dir_info[i].fs_id){
        dir_url+="&fs_id="+dir_info[i].fs_id;
     }
  }

上面这三个参数,你可以通过f12的开发者模式再点击的时候抓包看到,填进去替换就能愉快的使用这个功能了。

效果

最终我们来看下效果:

在这里插入图片描述
nice,结果导出到了txt:

在这里插入图片描述
好了,就到这里了,有问题欢迎留言;

标签:度盘,网盘,导出,id,分享,目录,dir
来源: https://blog.csdn.net/zhonglunshun/article/details/120160273