谷歌云盘上有个表格,现在比较大需要下载到本地再进行处理
打印出来的链接地址可以正常跳转网页下载
我现在下载下来的内容先处理表格的下载链接再通过requests.get下载
网上找了很多都没结果
def get_file_exportLinks():
drive_service = clear_service(google_clear_token())
file_id = 'file_id'
results = drive_service.files().list(fields="nextPageToken, files(id, name,exportLinks)").execute()
items = results.get('files', [])
for item in items:
if item['id'] == file_id:
exportLinks = list(item['exportLinks'].values())
for every_exportLinks in exportLinks:
if 'xlsx' in str(every_exportLinks):
dow(every_exportLinks)
def dow(file_url):
while True:
try:
r = requests.get(url=file_url, stream=False)
break
except requests.exceptions.SSLError:
time.sleep(2)
output = open(f'./data/{int(time.time())}.xlsx', 'wb')
output.write(r.content)
output.close()
if name == 'main':
get_file_exportLinks()
成功 从谷歌云盘上下载比较大的谷歌表格
将r = requests.get(url=file_url, stream=False)中的stream=False改成stream=True试试。类似:
g = requests.get(url, stream=True)
with open('xxx.xlsx', 'wb') as sav:
for chunk in g.iter_content(chunk_size=1024):
sav.write(chunk)
最后求助公司小伙伴,是授权的问题,授权修改后就可以正常使用了