我看百度盘对我们这些不想花钱的人来说是用不了了。使用某个软件下载百度盘内分享的资源,用的是创建批量下载压缩包的原理。一个将近 10 GiB 的文件单独打了一个压缩包,解压出来只有 2 GiB 左右。7-zip,Bandizip 和 WinRAR 都没有办法解压出原文件。不知道大家有没有相似的经历。
1
lry527 2018-01-22 00:59:49 +08:00 via Android
用解压软件修复功能试试
|
3
privil 2018-01-22 01:08:04 +08:00 2
http://blog.sina.com.cn/s/blog_610787990102xcnv.html 用这里提供 python 脚本可以解压
|
4
ks3825 2018-01-22 01:27:06 +08:00 via Android 3
如果用百度云批量下载打包的压缩包内单文件大于 4G,无论怎么搞都会坏。
如果压缩包内没有文件超过 4G,但压缩包总大小超过 4G,可以用 WINRAR 的修复功能修复后解压。(其他软件修复无效) 如果压缩包小于 4G,可直接解压。 半年前我研究过是这样的,可能随着时间推移改变 |
5
ks3825 2018-01-22 01:32:18 +08:00 via Android
(捂脸)没看到楼上的回复,无视我好了
|
6
MajestySolor 2018-01-22 03:01:24 +08:00
老问题了,百度云的大体积压缩包经常是损坏的,要反复下好几次~
|
7
MagaFun OP @privil 尝试了,报了如下错误,压缩包里有两个文件,都超过了 4G。
Traceback (most recent call last): File "unzip_baidu.py", line 210, in <module> ubz.Unpack(fname) File "unzip_baidu.py", line 46, in Unpack header = self.__parse_file_header(f.read(0x1E)) File "unzip_baidu.py", line 155, in __parse_file_header h['file_tag'] = i4.unpack_from(header[0:4])[0] struct.error: unpack_from requires a buffer of at least 8 bytes |
9
loading 2018-01-22 08:40:01 +08:00 via Android
我 linux 报错,windows 就好了?!??!!!
|
10
msg7086 2018-01-22 09:01:18 +08:00
10G 变 2G 看着就是 32 位溢出。想办法无视掉文件长度字段就可以正常解压了,说白了 hack 一把梭。
|