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


    从百度网盘好友分享文件中导出文件目录
    1,用到两个文件:①一个是一位网友大神写的js脚本文件;②一个是油猴脚本
    下面来看一下我是如何一步一步导出的
    1,下载这位网友的js脚本文件,放在桌面备用
    这个网址可下载
    下面这个网址是大神的原文章
    为了防止文章丢失,我把文章拷贝一下
    -----------------------分隔符-------------------------------
    此文写于两年前,是知乎上针对 如何爬取百度网盘分享文件库的文件列表? 这个问题的回答。
    最近更新了代码,增加了功能,不料知乎竟然删除了问题。这个问题都存在两年了一直正常显示。而且,这种自动化脚本,也并不违规。
    ------------ 以下是原回答 ---------------
    虽然百度网盘,自己的网盘文件,有导出目录的工具,但是很多分享的网盘数据,动辄10T 20T,不可能都存到自己的网盘中。而现在买网盘资源,基本都是这种分享方式,而不是卖账号。
    搜索了一圈,没有现成的方案,大家都在关注如何加速下载等,github上虽然百度网盘相关项目有近百个,但是没有专门导出目录信息的项目。 而且主要都还是针对自己的网盘文件,这种在群中分享的网盘资源,没有现成的访问方法。
    没办法,大佬们不关注这个需求,只能自己动手了。
    在参考了github中的相关项目,比较了多种技术手段(python脚本,java程序,go语言,油猴脚本)后,本人计划使用油猴脚本方式来实现这个功能。
    功能设计: 导出分享文件库的所有目录和文件内容清单,同时对文件夹内的文件数量和尺寸进行递归统计。
    脚本发布在github上,有需要的可以下载
    chrome浏览器+油猴脚本测试通过
    由于墙,chrome的插件国内不好装,不会FQ弄的,用firefox浏览器+油猴插件也是可以使用的
    最近美国搞技术脱钩,本人的开源项目在国内的开源库gitee也做了镜像,国内访问Gitee更快一些
    油猴脚本怎么用我就不写了,请自行百度。 下面写写脚本用法
    油猴插件中启用本脚本
    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版权协议,转载请附上原文出处链接及本声明。
    ------------------------分隔符-------------------------------
     
    可以把他的文章内容多看几遍,第二步就是浏览器里面安装油猴脚本
    (我用的是Firefox+油猴脚本+大神的js脚本)
    0
     
    点击“安装”可以了。
    接下来点击油猴脚本图标
    0
     
    点击菜单中的“管理面板”
    0
     
    点击“实用工具”-》 点击“导入”
    0
    导入前面下载的js脚本
    0
    这个时候,点击“已安装的脚本” tab ,就可以看到我们安装好的js脚本
    0
     
    就这么简单,我们已经搞好了。现在只需要在Firefox中打开我们的百度网盘,导出目录就可以了
    0
     
    打开的界面会多出这几个按钮。可以从根目录导出,也可以导出子目录。
     
  • 相关阅读:
    element-ui upload 上传图片之前压缩
    字符串截取substring放法传参不同返回不同
    vue中对于图片是否正常加载的思考
    前端图片合成并下载
    vue中图相对路径引用本地图片
    js计算精度
    vue-cli定义全局过滤器
    js加减乘除运算丢失精度 前端计算金额带小数点精度丢失问题
    鼠标样式大全
    js两小时倒计时,剩余时间倒计时,倒计时
  • 原文地址:https://www.cnblogs.com/XChWaad/p/16381708.html
Copyright © 2020-2023  润新知