Сохраните большой файл с помощью библиотеки запросов Python [дубликат]


Возможные Дубликаты:
как загрузить изображение с помощью запросов

Я знаю, что получение url-адреса так же просто, как requests.get и я могу получить необработанное тело ответа и сохранить его в файл, но для больших файлов, есть ли способ передать непосредственно в файл? Например, если я загружаю фильм с ним или что-то еще?

1 81

1 ответ:

Как ни странно, запросы не имеют ничего простого для этого. Вам придется повторить ответ и записать эти куски в файл:

response = requests.get('http://www.example.com/image.jpg', stream=True)

# Throw an error for bad status codes
response.raise_for_status()

with open('output.jpg', 'wb') as handle:
    for block in response.iter_content(1024):
        handle.write(block)

Я обычно просто использовать urllib.urlretrieve(). Это работает, но если вам нужно использовать сеанс или какую-то аутентификацию, приведенный выше код также работает.