Pregunta

Necesito un poco de ayuda para conseguir un archivo tar para su descarga desde un sitio web.El sitio web está configurado como una forma en la que escoja el archivo que desea y haga clic en enviar y, a continuación, la descarga de windows se abre para que usted escoja la ubicación.

Estoy tratando de hacer lo mismo en el código (así que no tengo el manual de selección de cada archivo).Hasta ahora he metido python 2.5.2 para devolver una respuesta, pero en una socket._fileobject y ahora estoy seguro de cómo convertirlo en un archivo en mi equipo.

A continuación es el resultado de la interprete de python y los pasos que he tomado

Python 2.5.2 on win32

IDLE 1.2.2      
>>> import urllib
>>> import urllib2
>>> url = 'http://website/getdata.php'
>>> values = {'data[]': 'filex.tar'}
>>> data = urllib.urlencode(values)
>>> req = urllib2.Request(url,data)
>>> response = urllib2.urlopen(req)
>>> response
addinfourl at 22250280 whose fp = <socket._fileobject object at 0x01534570
>>> response.fp
socket._fileobject object at 0x01534570
¿Fue útil?

Solución

Anexar siguiente:

myfile = open('myfile.tar', 'wb')
shutil.copyfileobj(response.fp, myfile)
myfile.close()

response.fp es un objeto de tipo fichero que se puede leer desde, al igual que un archivo abierto. shutil.copyfileobj() es una función simple que lee de un objeto de tipo fichero y escribe su contenido a otro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top