Python – Cours 3
Jean-Yves Thibon
Université Paris-Est Marne-la-Vallée
ESIPE/IMAC3
Python et le web I
Pour le protocole http :
Iurllib permet d’effectuer facilement des opérations
simples (ouvrir une URL comme un fichier, GET et POST)
Iurllib2 permet des transactions plus avancées
(authentification, cookies, redirections ...)
Iurlparse analyse ou construit des URL complexes
ISimpleHTTPServer permet de monter un serveur (de
test !) en quelques lignes
Icgi permet d’écrire des serveurs de scripts
Ihttplib,BaseHTTPServer,CGIHTTPServer :
fonctionnalités de plus bas niveau, à éviter si possible
Ixmlrpclib Web services (minimaliste)
Python et le web II
Pour le traitement du HTML :
IHTMLParser analyse HTML et XHTML
Ihtmlentitydefs
INombreuses contributions externes, comme Beautiful
Soup et request
IBon support du XML : xml.*
Pour la construction de sites :
IDjango, Turbogears (frameworks)
IZope (serveur d’applications), Plone (gestion de contenu)
IBibliothèques (externes) pour SOAP, CORBA, REST ...
Le module urllib I
Fonctions de base pour lire des données à partir d’une URL.
Protocoles : http, https, ftp, gopher, file.
>>> import urllib
>>> s = urllib.urlopen(
’http://igm.univ-mlv.fr/~jyt/python’).read()
>>> print s
<html><body>
<ul>
<li> <a href="cours1.pdf">Cours 1</a>
<li> <a href="td1.html">TD 1</a>
<li> <a href="cours2.pdf">Cours 2</a>
</ul>
</body></html>
Le module urllib II
urllib.urlopen renvoie un objet "file-like". Méthodes read(),
readline(), readlines(), fileno(), close(), et en plus
info(), geturl().
>>> f = urllib.urlopen(’http://igm.univ-mlv.fr/~jyt/python’)
>>> f.fileno()
7
>>> dir(f)
[’__doc__’, ’__init__’, ’__iter__’, ’__module__’, ’__repr__’,
’close’, ’fileno’, ’fp’, ’geturl’, ’headers’, ’info’,
’next’, ’read’, ’readline’, ’readlines’, ’url’]
>>> f.geturl()
’http://igm.univ-mlv.fr/~jyt/python/’
>>> list(f.headers)
[’content-length’, ’accept-ranges’, ’server’, ’last-modified’,
’connection’, ’etag’, ’date’, ’content-type’]
1 / 50 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !