V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MagaFun
V2EX  ›  问与答

百度网盘批量下载下来的压缩包很有问题

  •  1
     
  •   MagaFun · 2018-01-22 00:33:34 +08:00 · 4184 次点击
    这是一个创建于 2497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看百度盘对我们这些不想花钱的人来说是用不了了。使用某个软件下载百度盘内分享的资源,用的是创建批量下载压缩包的原理。一个将近 10 GiB 的文件单独打了一个压缩包,解压出来只有 2 GiB 左右。7-zip,Bandizip 和 WinRAR 都没有办法解压出原文件。不知道大家有没有相似的经历。

    10 条回复    2018-01-22 09:01:18 +08:00
    lry527
        1
    lry527  
       2018-01-22 00:59:49 +08:00 via Android
    用解压软件修复功能试试
    MagaFun
        2
    MagaFun  
    OP
       2018-01-22 01:01:46 +08:00
    @lry527 修复过了,也不行
    privil
        3
    privil  
       2018-01-22 01:08:04 +08:00   ❤️ 2
    http://blog.sina.com.cn/s/blog_610787990102xcnv.html 用这里提供 python 脚本可以解压
    ks3825
        4
    ks3825  
       2018-01-22 01:27:06 +08:00 via Android   ❤️ 3
    如果用百度云批量下载打包的压缩包内单文件大于 4G,无论怎么搞都会坏。

    如果压缩包内没有文件超过 4G,但压缩包总大小超过 4G,可以用 WINRAR 的修复功能修复后解压。(其他软件修复无效)

    如果压缩包小于 4G,可直接解压。

    半年前我研究过是这样的,可能随着时间推移改变
    ks3825
        5
    ks3825  
       2018-01-22 01:32:18 +08:00 via Android
    (捂脸)没看到楼上的回复,无视我好了
    MajestySolor
        6
    MajestySolor  
       2018-01-22 03:01:24 +08:00
    老问题了,百度云的大体积压缩包经常是损坏的,要反复下好几次~
    MagaFun
        7
    MagaFun  
    OP
       2018-01-22 04:58:36 +08:00
    @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
    MagaFun
        8
    MagaFun  
    OP
       2018-01-22 05:00:12 +08:00
    @ks3825 估计我这个情况,还是老老实实 IDM 开 32 个线程吧
    loading
        9
    loading  
       2018-01-22 08:40:01 +08:00 via Android
    我 linux 报错,windows 就好了?!??!!!
    msg7086
        10
    msg7086  
       2018-01-22 09:01:18 +08:00
    10G 变 2G 看着就是 32 位溢出。想办法无视掉文件长度字段就可以正常解压了,说白了 hack 一把梭。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   947 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:24 · PVG 04:24 · LAX 12:24 · JFK 15:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.