Python:下载CSV文件,检查返回码?

时间:2015-03-09 23:23:42

标签: python

我正在使用Python从网站下载多个CSV文件。我希望能够检查每个请求的响应代码。

我知道如何使用wget下载文件,但不知道如何检查响应代码:

os.system('wget http://example.com/test.csv')

我看到很多人建议使用请求,但我不确定我保存CSV文件的用例是否正确。

r = request.get('http://example.com/test.csv')
r.status_code # 200
# Pipe response into a CSV file... hm, seems messy?

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用stream参数 - 以及iter_content()将响应内容直接流式传输到文件(docs)中:

import requests

r = None
try:
    r = requests.get('http://example.com/test.csv', stream=True)
    with open('test.csv', 'w') as f:
        for data in r.iter_content():
            f.write(data)

finally:
    if r is not None:
        r.close()