Guarde un archivo grande utilizando la biblioteca de solicitudes de Python

Posible duplicado:
Cómo descargar la imagen usando peticiones

Sé que obtener un url es tan simple como requests.get y puedo acceder al cuerpo de respuesta sin procesar y guardarlo en un archivo, pero para archivos grandes, ¿hay una manera de transmitir directamente a un archivo? ¿Como si estoy descargando una película con eso o algo así?

Curiosamente, las solicitudes no tienen nada de simple para esto. Tendrá que iterar sobre la respuesta y escribir esos fragmentos en un archivo:

 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) 

Usualmente solo uso urllib.urlretrieve() . Funciona, pero si necesita usar una sesión o algún tipo de autenticación, el código anterior también funciona.