World Wide Web este totalitatea siturilor / documentelor și informaților de tip hipertext legate între ele, care pot fi accesate prin rețeaua mondială de Internet. Webul a fost inventat în 1989 la Centrul European de Cercetări Nucleare (CERN) din Geneva, Elveția, la propunerea lui Tim Berners-Lee de creare a unei colecții de documente având legături între ele, ca soluție la problemele de comunicare pe care le întâmpinau echipele de cercetători ce foloseau centrul. Berners-Lee și echipa sa au realizat primele versiuni pentru patru componente cheie necesare serviciului web, și anume:
Documentele, care rezidă în diferite locații pe diverse calculatoare server, pot fi regăsite cu ajutorul unui identificator univoc numit URL (Uniform Resource Locator). Sintaxa unui URL este următoarea:
http://example.com:8042/over/there?name=ferret#nose
\__/ \_________/ \__/ \________/ \_________/ \__/
| | | | | |
protocol domeniu port cale interogare fragment
Protocolul HTTP este un protocol de tip text prin care serverul web și browserul clientului (utilizatorului) comunică între ele, fiind protocolul “implicit” al WWW. Adică, dacă un URL nu conține partea de protocol, aceasta se consideră ca fiind http. HTTP presupune că pe calculatorul destinație rulează un program care înțelege protocolul. Fișierul trimis la destinație poate fi un document HTML (abreviație de la HyperText Markup Language), un fișier grafic, de sunet, animație sau video.
pip este un sistem de management al pachetelor folosit pentru instalarea pachetelor scrise în Python. Multe dintre acestea se regăsesc în Python Package Index (PyPI).
pip install some-package-name
pip uninstall some-package-name
pip --help
requests este o bibliotecă Python pentru realizarea de cereri HTTP într-un mod simplu și elegant.
Exemplu utilizare:
>>> import requests
>>> resp = requests.get('http://purepython.eaudeweb.ro')
>>> resp.status_code
200
>>> resp.headers['Content-Type']
'text/html; charset=utf-8'
>>> resp.text
u'<!doctype html>\n<html lang="en">...'
BeautifulSoup este o bibliotecă externă folosită pentru extragerea datelor din HTML și XML. Aceasta face traversarea documentului și regăsirea elementelor mai ușoară.
Exemplu (pornind de la resp
de mai sus):
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(resp.text, "html.parser")
>>> len(soup.find_all('a')) # number of anchors
27
>>> soup.body.h1.text
u'Python & Django 2016'