ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2步 从百度网盘好友分享文件中导出文件目录

2022-06-16 14:02:06  阅读:364  来源: 互联网

标签:脚本 文件 文件目录 百度网 子目录 导出 文件夹 油猴


从百度网盘好友分享文件中导出文件目录 1,用到两个文件:①一个是一位网友大神写的js脚本文件;②一个是油猴脚本 下面来看一下我是如何一步一步导出的 1,下载这位网友的js脚本文件,放在桌面备用 https://gitee.com/avens666/BaidunNetDisk-script/repository/archive/master.zip 这个网址可下载 下面这个网址是大神的原文章 https://blog.csdn.net/cz666/article/details/109320622 为了防止文章丢失,我把文章拷贝一下 -----------------------分隔符------------------------------- 此文写于两年前,是知乎上针对 如何爬取百度网盘分享文件库的文件列表? 这个问题的回答。 最近更新了代码,增加了功能,不料知乎竟然删除了问题。这个问题都存在两年了一直正常显示。而且,这种自动化脚本,也并不违规。 ------------ 以下是原回答 --------------- 虽然百度网盘,自己的网盘文件,有导出目录的工具,但是很多分享的网盘数据,动辄10T 20T,不可能都存到自己的网盘中。而现在买网盘资源,基本都是这种分享方式,而不是卖账号。 搜索了一圈,没有现成的方案,大家都在关注如何加速下载等,github上虽然百度网盘相关项目有近百个,但是没有专门导出目录信息的项目。 而且主要都还是针对自己的网盘文件,这种在群中分享的网盘资源,没有现成的访问方法。 没办法,大佬们不关注这个需求,只能自己动手了。 在参考了github中的相关项目,比较了多种技术手段(python脚本,java程序,go语言,油猴脚本)后,本人计划使用油猴脚本方式来实现这个功能。 功能设计: 导出分享文件库的所有目录和文件内容清单,同时对文件夹内的文件数量和尺寸进行递归统计。 脚本发布在github上,有需要的可以下载 https://github.com/Avens666/BaidunNetDisk-script chrome浏览器+油猴脚本测试通过 由于墙,chrome的插件国内不好装,不会FQ弄的,用firefox浏览器+油猴插件也是可以使用的 最近美国搞技术脱钩,本人的开源项目在国内的开源库gitee也做了镜像,国内访问Gitee更快一些 https://gitee.com/avens666/BaidunNetDisk-script​ 油猴脚本怎么用我就不写了,请自行百度。 下面写写脚本用法 油猴插件中启用本脚本 0 2 百度网盘PC程序,好友分享界面,点击要导出的共享会话,点击文件库. (如果chrome设为缺省浏览器,这时会在浏览器中显示文件库) 0 3 chrome浏览器中,百度网盘文件库界面,会多出一个”导出目录信息“的按钮。(油猴插件和本脚本都正确加载) 0 如图,先选择要导出的文件夹,可以单选,可以多选,可以全选,然后点击按钮开始生成清单 重要:要在文件库的根目录操作,不能进子目录选择文件夹导出。 这是百度网盘的通讯协议限制,我现在使用的方法还不能绕开这个限制。 这个限制已经在新版本解决,见后面说明. 4 接下来就是等待,不要关闭页面,清单生成速度同你要导出数据有多少个子目录有关。很多分享的网盘内部文件非常多,等待时间会比较长,大概8000个子目录,需要1个多小时。 清单生成完成后,会弹出文件保存对话框,你可以选择保存到本机目录 0 建议先找一个子文件夹少的目录,试用试用,可以很快出结果。免得等几个小时没结果认为我忽悠人。 如果想看到进度,按F12打开调试面板,选择Console面板,可以看到取清单的消息在运行。 0 5 保存的内容,是文本文件,按照tree命令的输出格式输出,大致如下的样子 0 文件夹,下面列出所有子文件及子文件夹,文件夹统计了其整体空间之和,文件单独输出了文件大小。 6 百度网盘的通讯协议还有些复杂,我也就弄了两天,第一次写js和油猴脚本,经验也不足,现在这个程序还有一些不完善之处 第一: 如果一个文件夹下面子文件超过100(不是文件夹包含的所有文件,是直接在该文件夹下面的文件),有可能超过100的文件列不出来。这个问题我还没有专门测试,我也没有这种极端情况,后面有需求时再说 第二:限于现在了解的JS特性,没有用异步请求,所以列表生成比较慢。能否有方法加速,如有js高手可以尝试一下,反正源码都公开了 ------------ 2019.7.6 功能更新 ---- 功能更新 1 解除一个文件夹只能导出100个子文件限制,可以输出子目录所有文件 (最多3000) 2 文件前面输出目录的层次信息,方便过滤 (后面写如何过滤) 3 文件信息增加输出全路径名 0 然后我补充一个对输出文件进行过滤的方法。 比如,只想输出目录,不想输出文件,只想看特定的格式文件,比如音频,图片,视频文件。 通过利用现在几个主流的增强型文件编辑软件的书签处理功能,可以很方便的对输出文件进行过滤处理。我这里以EmEditor这个编辑软件为例 只看文件夹 EmEditor打开导出的清单文件,Ctrl+F搜索”文件夹大小“关键字,点击全部设为书签 0 所有包含文件夹大小的行都被高亮显示 0 然后,选择编辑菜单->书签->提取已添加书签行至新文件中 0 新文件中就只包含目录的信息* 0 同理,你可以删除书签行,复制剪贴书签行。 如果想要过滤特定文件,查找文件后缀名".jpg" ".wav" 等等,同样操作即可。 ------------- 2020.10.26 ---------- 昨天导出一个目录等了4个小时都没结束,一怒之下,今天重新构思了提取策略,开发单独导出子目录的功能。 测试通过,通过在先在根目录获取ID信息后,再去选择子目录的方式,终于可以单独导出任意深度的子目录了。 代码完善后再发布。 ------------- 2020.10.27 ---------- 子目录导出功能已经完善,代码已经更新。可以去github或者gitee下载 参考楼下的一些代码,简化了代码结构, 我js不太熟,之前的有些处理比较笨拙。 0.5版本增加了单独导出子目录的功能,增加了2个按钮, “ID” 和“子目录”。 在根目录下选择子文件夹所在目录,点击<id按钮>获取主目录信息。然后可以进入子目录,选择要导出的子目录进行导出 0 虽然子目录按钮也能导出根目录的数据,但是不支持多选,所以还是保留了“导出目录按钮”,用于在根目录下一次性导出多个目录 ———————————————— 版权声明:本文为CSDN博主「cz666」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/cz666/article/details/109320622 ------------------------分隔符-------------------------------   可以把他的文章内容多看几遍,第二步就是浏览器里面安装油猴脚本 (我用的是Firefox+油猴脚本+大神的js脚本) https://addons.mozilla.org/zh-CN/firefox/addon/tampermonkey/ 0   点击“安装”可以了。 接下来点击油猴脚本图标 0   点击菜单中的“管理面板” 0   点击“实用工具”-》 点击“导入” 0 导入前面下载的js脚本 0 这个时候,点击“已安装的脚本” tab ,就可以看到我们安装好的js脚本 0   就这么简单,我们已经搞好了。现在只需要在Firefox中打开我们的百度网盘,导出目录就可以了 0   打开的界面会多出这几个按钮。可以从根目录导出,也可以导出子目录。  

标签:脚本,文件,文件目录,百度网,子目录,导出,文件夹,油猴
来源: https://www.cnblogs.com/XChWaad/p/16381708.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有