Python 2.6.4 (r264:75708, Oct 26 2009, 08:23:19) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. **************************************************************** Personal firewall software may warn about the connection IDLE makes to its subprocess using this computer's internal loopback interface. This connection is not visible on any external interface and no data is sent to or received from the Internet. **************************************************************** IDLE 2.6.4 >>> #!/usr/bin/python # -*- coding: utf-8 -*- import urllib import urllib, re url = urllib.urlopen("http://ilpga.fr") # on ouvre la page codehtml = url.read() # on lit le code html de la page et on le stocke codehtml=codehtml.decode("iso-8859-1") # on le décode en caractère latin-1 codehtml=codehtml.encode("utf-8") search_pagename = re.search("(.*)",codehtml) pagename = search_pagename.group(1) texte = re.sub("<.*?>","",codehtml) # on nettoie ensuite en retirant les balises expr = re.compile("\W+",re.U) # on coupe les mots liste = expr.split(texte) print liste # on écrit la liste dans le fichier .html det = ["le","la","les","un","des","aux"] # on crée des listes de déterminants, noms et verbes nom = ["domaines","langues","linguistique", "objet", "métiers", "phonologie", "recherche", "étude"] verbe = ["être", "consacrer", "organiser"] mots = set(liste) mots = sorted(mots ,key=str.lower) # on classe les mots par ordre alphabétique et on les classe par majuscules et minuscules texte=texte.encode("utf-8") # on encode la liste de ces mots en UTF 8 lesmots=" ".join(liste).encode("utf-8") # on crée une page html, on en écrit l'entête et on fait en sorte qu'elle soit créée dans le fichier cible et ouverture des balises pour le "corps" de la page html fichier = open("pageweb.html","w") fichier.write(""" Analyse d'un fichier """) search_lien = re.findall("(.*)?",codehtml) for i in search_lien: fichier.write(i) # on écrit le contenu de la page html qui n'est autre que le nombre de mots du txte et le nombre de mots différents fichier.write(pagename) fichier.write("

Le fichier contient "+str(len(liste))+" mots:

") fichier.write("

Le fichier contient "+str(len(mots))+" mots différents:

") fichier.write("

Le texte de la page ") for j in liste: if j in det: # boucle: si le mot est dans la liste des déterminants alors on écrit ... fichier.write(" contient les déterminants suivants :

") fichier.write("") fichier.write(i) fichier.write("\n") else: print "cette forme n'est pas dans la liste des déterminants!" for k in liste: if K in nom: # boucle: si le mot est dans la liste des noms alors on écrit ... fichier.write("

Le texte de la page contient les noms suivants:

") fichier.write("") fichier.write(i) fichier.write("\n") else: print "cette forme n'est pas dans la liste des noms!" for m in liste: if m in verb: fichier.write("

Le texte de la page contient les verbes suivants :

") fichier.write("") fichier.write(m) fichier.write("\n") else: print "cette forme n'est pas dans la liste des verbes!" # fin du "corps" de la page html fichier.write(" ") fichier.close()