【发布时间】:2021-03-07 10:53:33
【问题描述】:
我想从一个 url 下载一个 zip 文件,但我不想暂时保存它,因为我知道将 zip 文件下载并提取到某个地方的唯一方法是创建一个空的 zip 文件,将其粘贴到下载 zip 内容,然后将其解压缩到正确的文件夹中。但我想下载和解压而不必创建一个 zip 文件夹。我尝试了很多东西,但这些都不起作用。有人知道该怎么做吗? (我的代码可能很糟糕,我不知道,但我不太在意)
import io
import zipfile
import requests
import json
import os
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
url = 'https://beatsaver.com'
page = 0
num = 0
req = requests.get(url + '/api/maps/latest/' + str(page), headers=headers)
latest = json.loads(req.text)
for item in latest['docs']:
print(latest['docs'][num]['downloadURL'])
dl = requests.get(url + latest['docs'][num]['directDownload'])
path = './maps/{} - {} - {}'.format(latest['docs'][num]['key'], latest['docs'][num]['name'].replace(':', '').replace('?', ''), latest['docs'][num]['uploader']['username'])
os.mkdir(path)
#here is where i want it to download the zip
num += 1
【问题讨论】:
-
"我暂时不想保存"..是什么意思?错误是什么..如果有的话?你能澄清一点吗?
-
我希望你现在能理解,如果有/有些错误很抱歉,我是法国人
-
您要将它们提取到哪里?你能给我一个你系统上的示例路径吗?
-
在这种情况下,我想要文件 F:\Python\DailyDownloader\maps 中的 /api/maps/11fff 的内容`文件名`。在这种情况下,该文件包含一些 json 文件和一首歌曲
-
我知道。您正在从 json 中抓取下载链接。我下载了一个来看看。文件名(文件夹名..提取后)是这样的..
8be3144789fb89834402a7ec2e0dd4e8844144b3.zip..这就是你想要的?
标签: python