Retour Partie 1

TRAVAIL SUR UNE PAGE WEB

Pour ce travail j'ai choisi la page html du site: http://www.avantage-entreprise.com/
Vous pouvez accéder à ce site via le lien:

- http://www.avantage-entreprise.com

Vous pouvez ici :

Télécharger le script

Et ici :

Télécharger le fichier infostat

Et ici :

Télécharger tout le travail de la page web nettoyée
Télécharger le fichier pageweb.txt

Nous allons avec ce devoir, travailler sur une page web et faire différentes opérations:

-1) Récupérer le code source d'une page html
-2) Nettoyer le code source à l'aide d'expressions régulieres
-3) Générer un fichier de résultats contenant le code source nettoyé
-4) Opérer des décomptes sur le texte (caractères, mots, phrases)
-5) Générer un fichier de résultats contenant les résultats des décomptes

Nous allons avancer pas à pas avec des copies d'écran contenant les explications de chaque opération effectuée et les copies d'écran des résultats obtenus:

1) Récupérer le code source d'une page html

On a d'abord importé les modules "bibliothèque" et "expressions régulières", puis on a ouvert trois fichiers en écriture: l'un pour le résultat des opérations sur la page web, l'autre pour le résultat des statistiques et le troisième: un fichier de sortie html pour stocker les résultats des traitements effectués par le script sur la page.

Et ici on a ouvert la page web du site "avantage entreprise".On l'a décodée:" décode en "iso-8859-1" et réencodée en "utf-8" ( mais je l'ai mis seulement en commentaires car pour ma page web c'est inutile elle est déjà codée en "utf8")

Ici on a récupéré le nom de la page web au moyen de search_pagename (voir explications dans les #commentaires)

Ici on a récupéré les liens de la page web au moyen de search_liens et on les imprime dans le fichier de sortie html

2) Nettoyer le code source à l'aide d'expressions régulieres

Les consignes:

J'ai trouvé que:

On retire ici les caractères entre balises script, les caractères html, et on supprime les lignes vides et les doubles espaces comme le demande la consigne ci-dessus.Puis on découpe le texte en mots et on en fait une liste. La fonction "split" est expliquée dans les #commentaires

On ouvre un tableau pour y afficher la liste des mots (voir détails en commentaires)

3) Générer un fichier de résultats contenant le code source nettoyé

Nous avons créé un nouveau fichier de sortie qui contient le code source après nos opérations de nettoyage

4) Opérer des décomptes sur le texte (caractères, mots, phrases)

Les différentes étapes sont décrites dans les # commentaires . Nous avons d'abord découpé le texte en mots, puis créé à partir de ces mots une liste ordonnée

Afin de calculer la fréquence des mots dans la liste que nous avions ordonnée, nous avons créé une boucle avec "if" et "else" et un dictionnaire pour les "entreposer" afin de les comptabiliser au fur et à mesure en associant mot et valeur.

consignes :


Au moyen d'une boucle, on va tester la présence des formes d'une liste dans les mots de la phrase.

consignes exercices de comptage:


réponse 1:

Pour compter le nombre moyen de caractères par mots

Il faut d'abord compter le nombre de caractères avec la fonction len( ):
nbchars=len(texte)
et le nombre de mots du texte:
nbmots=len(liste) et ensuite diviser le nombre de caractères du texte (nbchars) par le nombre de mots en l'affectant à la variable"moyenne" ainsi:
moyenne = nbchars / nbmots.
(voir en détail sur le script)


réponse 2:
Pour trouver le nombre moyen de mots par phrases

Il faut diviser le nombre de mots déjà trouvés par le nombre de phrases.
moyenne = nbmots / nbphrases:
Pour trouver le nombre de phrases on applique la formule:
f = open('pageweb.txt','r') pour ouvrir le fichier sur lequel effectuer le comptage. Puis on compte chaque phrase en la mettant sur une ligne:
nbphrases=lignes
lignes = 1 Pour celà on découpe le texte avec split à chaque point.:
for line in f.read().split('.'):
Et on rajoute 1 au compteur à chaque nouveau point, c'est à dire à chaque nouvelle phrase:
lignes = lignes + 1
On écrit le nombre de phrases que le texte contient:
print "La page contient " +str(lignes) +" phrases. \n"
Puis on applique la moyenne:
moyennef = nbmots / nbphrases.
On pourra ainsi écrire le résultat:"Le nombre moyen de mots par phrase est : " + str(moyennef) + "\n" .
On découpera de même pour segmenter avec les virgules en remplaçant le point par: ","

5) Générer un fichier de résultats contenant les résultats des décomptes

On a généré un fichier de résultats ordonné, contenant la fréquence de chaque mot. On ferme ensuite les fichiers statistique et html.