Python - Download de dados HTTP

Podemos baixar dados de um seridor usando o módulo python que manipula ftp ou protocolo de transferência de arquivos. Também podemos ler os dados e depois salvá-los no sistema local.

Precisamos instalar o módulo ftplib para conseguir isso.

pip install ftplib

Buscando os arquivos

Podemos buscar um arquivo específico usando o getfilemétodo. Este método move uma cópia do arquivo do sistema remoto para o sistema local de onde a conexão ftp foi iniciada.

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()

Quando executamos o programa acima, encontramos o arquivo README.nlug presente no sistema local de onde a conexão foi iniciada.

Lendo os dados

No exemplo abaixo, usamos o módulo urllib2 para ler a parte necessária dos dados que podemos copiar e salvá-los no sistema local.

Quando executamos o programa acima, obtemos a seguinte saída -

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

Quando executamos o programa acima, obtemos a seguinte saída -

<!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