2008-10-09 16 views
11

¿Cuál es la mejor manera de capturar una transmisión de mp3 que proviene de http y guardarla en un disco con python?Cómo capturo una transmisión de mp3 con python

Hasta ahora he tratado

target = open(target_path, "w") 
conn = urllib.urlopen(stream_url) 
while True: 
    target.write(conn.read(buf_size)) 

Esto me da datos, pero su juego confusas o costumbre en los reproductores de mp3.

+0

¿Puede especificar más sobre eso? ¿Qué tipo de transmisión es? Simple mp3 (¿podría guardarlo también con 'Guardar como ...')? De lo contrario, el protocolo ha recibido más información, que solo la información de audio. –

+0

esto finalmente funcionó, pero nunca salió de la cláusula while. ¿Debo agregar código adicional para que termine correctamente? – ChrisArmstrong

Respuesta

15

Si está en Windows, es posible que accidentalmente esté haciendo conversiones CRLF, corrompiendo los datos binarios. Trate de abrir target en modo binario:

target = open(target_path, "wb") 
4

La mejor manera para ello es:

urllib.urlretrieve(stream_url, target_path); 
Cuestiones relacionadas