Python - pobieranie danych HTTP

Możemy pobrać dane z serwera za pomocą modułu Pythona, który obsługuje ftp lub File Transfer Protocol. Możemy również odczytać dane i później zapisać je w systemie lokalnym.

Musimy zainstalować moduł ftplib aby to osiągnąć.

pip install ftplib

Pobieranie plików

Możemy pobrać konkretny plik za pomocą rozszerzenia getfilemetoda. Ta metoda przenosi kopię pliku z systemu zdalnego do systemu lokalnego, z którego zostało zainicjowane połączenie 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()

Po uruchomieniu powyższego programu stwierdzamy, że plik README.nlug znajduje się w systemie lokalnym, z którego połączenie zostało zainicjowane.

Czytanie danych

W poniższym przykładzie używamy modułu urllib2 do odczytania wymaganej porcji danych, którą możemy skopiować i zapisać w systemie lokalnym.

Po uruchomieniu powyższego programu otrzymujemy następujący wynik -

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

Po uruchomieniu powyższego programu otrzymujemy następujący wynik -

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