这是我第一次发布堆栈溢出,我期待更多地参与社区活动。我需要从ASPX网站下载,重命名和保存许多Excel文件,但我无法通过URL直接访问这些Excel文件(即,URL不以" excelfilename.csv"结尾)。我能做的是转到启动文件下载的URL。 URL的示例如下。
我想通过循环改变的输入是" ExcelFileName"和#34; SomeDate"。我知道当可以通过URL直接访问Excel文件时,可以使用urllib获取这些文件,但是如何使用这样的URL来实现?
提前感谢您的帮助!
答案 0 :(得分:1)
使用requests
库,您可以获取文件并迭代块以写入文件
import requests
report_names = ["Filename1","Filename2"]
dates = ['2016-02-22','2016-02-23'] # as strings
for report_name in report_names:
for date in dates:
with open('%s_%s_fetched.csv' % (report_name.split('.')[0],date,), 'wb') as handle:
response = requests.get('https://www.websitename.com/something/ASPXthing.aspx?ReportName=%s&Date=%s&reportformat=csv' % (report_name,date,), stream=True)
if not response.ok:
# Something went wrong
for block in response.iter_content(1024):
handle.write(block)