Python - Descarga de datos HTTP

Podemos descargar datos de un seridor usando el módulo de Python que maneja ftp o File Transfer Protocol. También podemos leer los datos y luego guardarlos en el sistema local.

Necesitamos instalar el módulo ftplib para lograr esto.

pip install ftplib

Obteniendo los archivos

Podemos buscar un archivo específico usando el getfilemétodo. Este método mueve una copia del archivo desde el sistema remoto al sistema local desde donde se inició la conexión ftp.

import ftplib
import sys
 
def getFile(ftp, filename):
    try:
        ftp.retrbinary("RETR " + filename ,open(filename, 'wb').write)
    except:
        print "Error"
 
 
ftp = ftplib.FTP("ftp.nluug.nl")
ftp.login("anonymous", "ftplib-example-1")
 
ftp.cwd('/pub/')          change directory to /pub/
getFile(ftp,'README.nluug')
 
ftp.quit()

Cuando ejecutamos el programa anterior, encontramos que el archivo README.nlug está presente en el sistema local desde donde se inició la conexión.

Leer los datos

En el siguiente ejemplo usamos el módulo urllib2 para leer la parte requerida de los datos que podemos copiar y guardar en el sistema local.

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

import urllib2
response = urllib2.urlopen('http://www.tutorialspoint.com/python')
html = response.read(200)
print html

Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:

<!DOCTYPE html>
<!--[if IE 8]><html class="ie ie8"> <![endif]-->
<!--[if IE 9]><html class="ie ie9"> <![endif]-->
<!--[if gt IE 9]><!-->  <html> <!--<![endif]-->
<head>
<!-- Basic -->
<meta charset="ut