Travail attendu pour le devoir final

Nous avons choisi de travailler avec la page d'accueil du Secteur Tal de l'Université Paris 3 Sorbonne-Nouvelle. Elle est encodée en ISO-8859-1.

Le script Python commenté est téléchargeable ci-dessous.

script python

Les fichiers de résultats sont également téléchargeables.

code source nettoyé

statistiques

  • Les 5 étapes réalisées :
    • 1. Récupérer le code source d'une page html
    • a) import urllib # j'importe une nouvelle bibliothèque

      b) url = urllib.urlopen("http://www.tal.univ-paris3.fr/") # j'ouvre ma page web dans la bibliothèque

      c) codehtml = url.read() # je lis la page web

    • 2. Nettoyer le code source à l'aide d'expressions régulières
    • a) texte = re.sub("<.*?>","",codehtml) # je nettoie ma page web de tous les caractères non alphanumériques

      b)texte=texte.decode("iso-8859-1") # ma page étant codée en iso-8859-1, je la décode

      c)texte=texte.encode("utf-8") # puis je la recode en utf-8

    • 3. Générer un fichier de résultat contenant le code source nettoyé
    • a) fichier = open("pageweb.txt","w") # j'ouvre un fichier texte que j'appelle "pageweb"

      b) fichier.write(texte) # je copie ma page web nettoyée dans le fichier crée précédemment

      c) fichier.close() # je ferme ledit fichier

    • 4. Opérer des décomptes sur le texte (caractères, mots, phrases)
    • a) expr = re.compile("\W+",re.U) # expression régulière permettant de segmenter le texte en mots là où il y a 1 ou plusieurs caractères alphanumériques.

      b) liste = expr.split(texte) # j'applique l'expression régulière précédente à mon texte

      b) fichier2.write("Le fichier contient "+str(len(liste))+" mots et "+str(len(set(liste)))+" mots différents.\n") # Python compte combien de mots et de mots différents il y a dans le texte, puis l'écrit dans le fichier texte.

      d) fichier2.write(" ".join(sorted(set(liste),key=str.lower))) # je joins ma liste de mots rangés par ordre alphabétique et en lettres minuscules, à mon fichier texte.

    • 5. Générer un fichier de résultat contenant les résultats des décomptes
    • a) fichier2 = open("infostat.txt","w") # je crée un second fichier texte appelé "infostat".

      b) fichier2.close() # je ferme mon second fichier texte.