需求:需要下载文件/文件流,文件为zip的压缩包,url不现实任何文件格式
def download_file():
filepath = './data/'
file_name = '{}{}.zip'.format(filepath, self.day)
url = 'https://xx.com/download.do?custId=1103383695&taskId=10002779'
header = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cookie': COOKICE,
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36'
}
req = requests.get(url=url, headers=header)
with open(file_name, 'wb') as f:
f.write(req.content)
import zipfile
with zipfile.ZipFile(file_name) as zf:
zf.extractall(path=filepath)
import os
os.remove(file_name)
def download_file(url, method='get'):
filepath = './data/'
file_name = '{}{}.zip'.format(filepath, self.day)
paras = {
'access_token': token,
'selectDate': yestoday
}
if method == 'get':
req = requests.get(url=url, params=paras, stream=True)
else:
req = requests.post(url=url, json=paras, stream=True)
with open(file_name, 'wb') as f:
for chunk in req.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
import zipfile
try:
with zipfile.ZipFile(file_name) as zf:
zf.extractall(path=filepath)
import os
os.remove(file_name)
except:
print('the file is not a correct zip file')