繁体   English   中英

如何使用请求下载多个 zip 文件并使用 Python 提取到文件夹

[英]How to download multiple zip files using requests and extracting to a folder using Python

我有一个 url_file.txt 文件,其中包含几个直接下载 zip 文件的链接。 url_file.txt 文件的内容有 6 个 url。所以我必须从这个文件中取出每个 url 并得到 zip 文件。 然后将其解压缩到目标文件夹。 目标文件夹包含所有提取的应用程序扩展。 所以我写的代码是:

        import os, io, zipfile, requests
        cwd = os.getcwd()
        save_path = cwd +"\\test"

        os.chmod(save_path,0o777)
        with open('url_file.txt', 'r') as urll:
          for i,val in enumerate(urll):      
            path = val      
            r = requests.get(path)
            z = zipfile.ZipFile(io.BytesIO(r.content))
            z.extractall(save_path)

但是我在执行此操作时遇到错误。 如果我直接在请求中传递 url。 它正在下载和提取应用程序。 我不知道我做错了什么。 有人请给我一些建议来解决这个问题。 我在执行上述代码时遇到的错误是:

 z = zipfile.ZipFile(io.BytesIO(r.content))
 File "C:\Python\Python39\lib\zipfile.py", line 1257, in __init__
 self._RealGetContents()
 File "C:\Python\Python39\lib\zipfile.py", line 1324, in _RealGetContents
 raise BadZipFile("File is not a zip file")
 zipfile.BadZipFile: File is not a zip file

我已将 txt 文件内容转换为数组并传递给请求。 添加了这两行并完美运行。

text_file = open('url_file.txt', 'r') 
lines = text_file.read().split(',')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM