项目地址引用:

https://github.com/iikira/BaiduPCS-Go
基本思想:根据手动秒传的方法,只要知道file_size和文件md5值,再根据自己意愿添加一个文件名,就可以根据云端已有数据在自己云盘中”拷贝”一份副本。

项目背景和思想

作者到目前有几十个云盘账号,文件管理起来比较麻烦,连账号切换都得靠Cookie Profile Switcher插件实现。再说,一个松鼠党必须时时保持警惕,应对账号被封资源丢失的痛苦。
秒传的原理是:通过检测文件大小和md5值,或者再加上其他如文件前256KB切片的md5值的信息,若云端有相同的文件,则直接进行云端拷贝。
BaiduPCS-Go的作者在新版本中实现如下功能:只需要知道file_size和md5,就可以实现在本地硬盘没有该文件下,但是云端别人已经上传过该文件时,进行虚拟秒传。
BaiduPCS-Go及其秒传功能的用法就不赘述了,均在github上。
举例:BaiduPCS-Go ru -length=<文件的大小> -md5=<文件的md5值> <网盘路径/文件名>
基于此思想,根据BaiduYunCacheFileV0.db文件含有文件目录,文件名,大小,md5等信息的原理,我们可以利用SQLite工具提取信息,配合Excel和其公式,制作一个如下类型的批处理文件:

BaiduPCS-Go ru -length=<size_1> -md5=<md5_1> <文件1>
BaiduPCS-Go ru -length=<size_2> -md5=<md5_2> <文件2>
BaiduPCS-Go ru -length=<size_3> -md5=<md5_3> <文件3>
...
pause

项目着手

下载与登陆

首先,下载BaiduPCS-Go.exe,并放到合适的目录中。
输入login回车,按提示输入账号、密码、和验证登陆。

配置环境变量


提取BaiduYunCacheFileV0.db中信息

接下来有一个工具,为了展示实用性,我直接通过下面途径来”分享“出来。
在命令提示符中输入下面命令,即可保存一份SQLiteSpy.exe在你们云盘中,前提是你已经在BaiduPCS-Go中登陆过了。

BaiduPCS-Go ru -length=3746304 -md5=D3C44CE0F2EA0886091DFBDD3BB6CB45 /SQLiteSpy/SQLiteSpy.exe

然后下载

BaiduPCS-Go d SQLiteSpy

相同方法下载第二个更强大的工具

BaiduPCS-Go ru -length=101809138 -md5=09FC738A805C8EA4C27A86C553C1A048 /navicat/navicatpremiumpjb3264lsb.zip
BaiduPCS-Go d navicat

使用SQLiteSpy.exe配合everything找到并打开BaiduYunCacheFileV0.db,点击cache打开,随意点击某一格,ctrl+a然后ctrl+c,全选复制,新建文本文档,粘贴保存。

Excel中合成命令行指令并运行

打开excel,数据-导入文本文档,自动生成带有格式的表格。
可见A到J列为如下数据:

A B C D E F G H I J
id fid parent_path server_filename file_size md5 isdir category server_mtime local_mtime

在一个空列中编辑公式:

="BaiduPCS-Go ru -length="&E1&" -md5="&F1&" """&C1&D1&""""

ctrl+d填充所有,复制需要的命令行到文本文档中保存为bat文件或者cmd文件。此处命名为”name.bat”
然后双击运行即可实现批量秒传文件。

问题解决

针对Unicode字符的解决方法

有时文件名有类似”†“的Unicode字符,即使保存为Unicode或者utf-8文档,在cmd中运行也是乱码,这时候就需要转码。
先将name.bat保存为utf-8编码的文档。
预先在cmd中输入chcp 65001可以无乱码运行utf-8文件。所以在name.bat同目录下建立另一个bat文件,输入:

chcp 65001
name.bat
pause

保存该bat为ANSI编码,双击运行即可调用name.bat。
如果需要保存输出到文本文档查看哪些秒传失败,代码如下:

chcp 65001
name.bat >>log.txt
pause

运行结束即可在log.txt中查看记录。

针对过大的数据库

如果BaiduYunCacheFileV0.db超过10MB,往往在SQLiteSpy中复制的文本不能完全粘贴在文本文档中,这时需要Navicat Premium 12




如图打开BaiduYunCacheFileV0.db,导出文本文件或者excel文件,字符具体处理公式可能根据导出内容有差别,但是处理思路一样。

项目测试

亲测秒传一些游戏资源,结果如下:
对自己一个账号内一共2TB的资源进行信息提取,命令行秒传测试,成功秒传了1.3TB。嗯,算不错的说。因为度娘可能对某些虽然别人已经上传但是资源太新的文件没有计入秒传名单内。
此法不失为一种备份自己已有资源的好办法。本人非软件作者,仅作为思路启发用。

利用BaiduPCS-Go批量秒传与备份相关推荐

  1. 工作笔记1——利用bat脚本实现批量上传文件到ftp服务器

    工作笔记1--利用bat脚本实现批量上传文件到ftp服务器 问题概述 利用ftp命令实现上传文件 注意 限时功能 将共享目录映射到电脑中的某个盘符 实现断点续传 问题概述 公司中有大概225k个文件需 ...

  2. [Pulgin] 利用swfupload实现java文件批量上传

    URL:http://blog.csdn.net/xuweilinjijis/article/details/8876305 之前在网上找过很多相关资料,很多所谓的批量上传都是忽悠人的,真正的批量上传 ...

  3. 海量上传文件服务器端,bat批量上传ftp文件到服务器

    bat批量上传ftp文件到服务器 内容精选 换一换 服务器上云或云上迁移利用镜像导入功能,将已有的业务服务器制作成镜像后导入到云平台(当前支持vhd.vmdk.qcow2.raw等多种格式),方便企业 ...

  4. 云盘秒传原理的探讨——哈希查找与数据去重

    P个重要的S:用云盘存片的童鞋注意了,别以为你辛辛苦苦收集好几年的片存到云盘就高枕无忧了,根据"假秒传,真共享"原则,你秒传的文件是非常不保险的,很容易被河蟹,已经有童鞋表示存到云 ...

  5. 完整版断点续传、秒传,支持超大大大文件_支持重定义文件名和路径

    需求: 支持大文件批量上传(20G)和下载,同时需要保证上传期间用户电脑不出现卡死等体验: 内网百兆网络上传速度为12MB/S 服务器内存占用低 支持文件夹上传,文件夹中的文件数量达到1万个以上,且包 ...

  6. iPhone照片导入电脑的图文教程,批量上传的3个方法!

    案例:苹果手机照片怎么批量上传到电脑? [友友们,手机照片太多,占用了我很多内存.想要把照片上传批量上传到电脑上进行保存,该怎么做?] 随着iPhone的普及和摄影功能的提升,越来越多的用户希望将iP ...

  7. Akka实战:HTTP大文件断点上传、下载,秒传

    2019独角兽企业重金招聘Python工程师标准>>> 访问:https://github.com/yangbajing/scala-applications/tree/master ...

  8. 大文件分片上传,断点续传,秒传 实现

    前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...

  9. 使用WebUploader实现文件批量上传,进度条显示功能

    知识点:利用WebUploader,实现文件批量上传,并且实时显示文件的上传进度 参考官方文档:http://fex.baidu.com/webuploader/ (1)引入三个资源 JS,CSS,S ...

最新文章

  1. AI创业哪家强?6大选择给你方向
  2. 爬虫好学吗python-爬虫Python入门好学吗?学什么?
  3. DevExtreme 学习应用[1]
  4. python 多进程共享变量manager_python 进程间共享数据 multiprocessing 通信问题 — Manager...
  5. Fatal Error: Unable to find package java.lang in classpath or bootclasspath
  6. 很好的一篇讲LTP在编解码中的作用的文章
  7. layui jquery ajax,url,type,async,dataType,data
  8. php 商务网站购物车联动地址
  9. VC++学习(15):多线程
  10. Angular常用命令行和指令
  11. 计算机二级C选择题精华
  12. Vue -- 如何在 span 标签上实现一个点击事件
  13. 实时传输文件到服务器,如何将数据实时上传到云服务器
  14. python邮件模块_Python收发邮件模块,用,来,发送,接收
  15. asp静态设置html,ASP生成静态Html文件技术杂谈
  16. 谷歌金山词霸/搜狗、QQ、google输入法模式分析及展望
  17. JUNIT5 + Mockito
  18. 在iPhone设置一个快捷指令,一键将PDF转为图片
  19. 阿里云解析PrivateZone和云解析DNS的区别
  20. 小散量化炒股记|Python也能量化财务指标!教你用净资产收益率选股!

热门文章

  1. matlab 更换坐标轴_科学网—【Matlab】坐标轴的设置 - 叶瑞杰的博文
  2. RAID0的安装步骤
  3. 玩安卓从 0 到 1 之总体概览
  4. nginx 静态资源优化配置
  5. springboot+maven+jwt学生信息增删查改
  6. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言
  7. html:(9):blockquote引用和br换行
  8. Java数据结构与算法 一
  9. 让机器“一叶知秋”:弱监督视觉语义分割
  10. Python爬虫爬取表情包