Nettoyage de code HTML et statistiques

Le but de ce premier travail a été de créer un script Python pour récupérer le code HTML d'une page web, le nettoyer de toutes ses balises et trouver le nombre de mots apparaissant dans cette page, ainsi que leur fréquence.

  • Page html choisie
  • Voici mon script python

  • Les grandes étapes de mon programme

    1. Récupération d'une page web



    Les deux premières lignes sont plutôt techniques. Elles explicitent où se trouve Python et quel encodage est utilisé. Ici, ce sera en utf-8.

    La troisième permet l'importation grâce à la fonction import d'un nouveau module du nom "urllib",pour url library: celle-ci contient des commandes pour intéragir avec les URL, donc avec internet.

    Ensuite, avec la fonction urlopen, on ouvre une nouvelle page web. Le résultat de cette commande est stockée dans une nouvelle variable qu'on appelle "url", qui est une sorte de connexion avec la page que nous avons ouverte.

    2. Ecrire la page dans un fichier local



    On lit ensuite la page web et on stocke le résultat dans une variable appelée codehtml. Une variable est une zone de mémoire dans l'ordinateur et qui permet de stocker qu'une seule donnée élémentaire. La variable codehtml contient le code de la page entière.

    Avec la fonction print, on imprime le contenu de cette variable.
    On crée ensuite un fichier local, format txt, où l'on va écrire le contenu de la variable.
    On n'oubliera pas de fermer le fichier par la suite.

    Voir le fichier de résultat du code de la page

    3. Nettoyage du code HTML



    Pour nettoyer le code source d'une page html, on utlise les expressions régulières. Les expressions régulières sont des formules qui ont une syntaxe particulière et qui participent au filtrage de données textuelles.

    La fonction re.sub permet de faire des remplacements dans un texte. Elle possède une syntaxe particulière:

                re.sub ("ce que je veux remplacer", "par quoi je veux remplacer", "dans quoi je veux remplacer")

    4. Création d'un fichier de sortie



    avec la fonction print, on imprime le contenu de la variable texte.
    Puis on crée un nouveau fichier au format txt et en écriture, "pageweb.txt"
    Dans ce fichier, on écrit le contenu de la variable texte.
    Et enfin, on ferme le fichier nouvellement créé.

    Voir le fichier de résultat contenant le code source nettoyé

    5. Comptage de mots et de caractères

    • Création d'un fichier de sortie
    En premier lieu, on crée un fichier au format txt qu'on appelle infostat. C'est dans ce fichier qu'on stockera les statistiques.



    • Nombre de caractères du texte de la page
    on utilise la fonction len sur la variable texte pour obtenir le nombre de caractères.
    Pour afficher ce résultat, il faut employer sur la fonction len la fonction str pour transformer le nombre en chaine de caractères.

    On peut alors écrire dans le fichier de résultat :

     
    • liste de mots et comptage des mots différents de la page



    On ajoute au fichier de résultat:



    La fonction "join" permet de joindre les éléments d'une liste avec le caractère qui précède.
    Ici, les éléments de la liste seront joints par un espace.

    Pour savoir combien de mots différents le texte contient, on transforme la liste en un ensemble, grâce à la fonction set

    • Création d'un dictionnaire et fréquence des mots de la page



    Dans la première ligne, on initialise un dictionnaire vide.
    Ensuite, on parcourt la liste pour récupérer les mots et leur attribuer une fréquence.
    Si le mot n'existe pas déjà dans le dictionnaire, alors il prend la valeur de 1 ; sinon, il existe et on lui incrémente sa valeur (ajout de 1 à sa valeur précédente)

    On obtient alors une liste de formes et leur nombre d'occurrences associées.



    Enfin, à l'aide d'une boucle, on parcourt cette structure et on la note dans le fichier de résultat.

    Voir le fichier de résultats contenant les décomptes

    Fermeture : on n'oublie pas à la fin du script de fermer les différents fichiers créés.