【发布时间】:2017-10-18 23:27:10
【问题描述】:
我有一个文件 URL 列表,它们是下载链接。我已经编写了 Python 代码来将文件下载到我的计算机上。这就是问题所在,列表中有大约 500 个文件,Chrome 在下载了大约 50 个这些文件后变得无响应。我最初的目标是将我下载的所有文件上传到 s3 中的 Bucket。有没有办法让文件直接转到 S3?以下是我目前所写的内容:
import requests
from itertools import chain
import webbrowser
url = "<my_url>"
username = "<my_username>"
password = "<my_password>"
headers = {"Content-Type":"application/xml","Accept":"*/*"}
response = requests.get(url, auth=(username, password), headers = headers)
if response.status_code != 200:
print('Status:', response.status_code, 'Headers:', response.headers, 'Error Response:', response.json())
exit()
data = response.json()
values = list(chain.from_iterable(data.values()))
links = [lis['download_link'] for lis in values]
for item in links:
webbrowser.open(item)
【问题讨论】:
-
无法将文件直接发送到 S3。您可能会考虑使用类似 wget 而不是浏览器来检索文件。你可以传入一个文件列表供它下载,所以你甚至不需要循环。
-
@Angrysheep 新手在这里。使用 wget 时文件究竟会下载到哪里?另外,如果每个链接都受密码保护怎么办?
-
stackoverflow.com/questions/23761579/… 有关于密码的建议。至于下载位置,wget 将使用您指定的任何路径。在尝试之前,您需要先查看文档。
标签: python xml file url amazon-s3