[英]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.