LE SCRIPT D'UN PROGRAMME PYTHON:

Le scripte du programme

La page web générée

Justification:

J’ai décidé de structurer mon script de cette manière car cette structure suit linéairement la présentation finale du fichier .

-->On récupère une page à l’aide de :

url = urllib.urlopen("http://www.snv.jussieu.fr/bmedia/Fruits/coquelicot.htm")# ouverture d'une nouvelle variable "url" qui contient le résultat de la commande "urlopen", connexion avec la page web dans les paranthèses codehtml = url.read()#On lit la page entière et on stocke le résultat dans une nouvelle variable qu'on appelle codehtml. Cette variable contient maintenant le code de la page entière.

-->On ecrit la page dans un fichier local :

codehtml=codehtml.decode("iso-8859-1")# décodage pour lire correctement le texte dans le navigateur. print codehtml#affiche le contenu la variable codehtml

-->On nettoie la page à l’aide des variables et on crée une nouvelle page html avec un bon encodage :

texte = re.sub("<.*?>","",codehtml)# nettoyage nettoyage de la page à l'aide de "re" qui permet d'utiliser toutes les expressions régulières telles que "." qui signifie "tous les caractères", "*" qui signifie "n'importe quelle suite de caractère" et "?" qui signifie "occurence d'un carctère de 0 à 1".

-->Pour la mise en forme :

-On crée un encadrement vert autours du corps du fichier.

-On crée un tableau contenant le titre de la page extraite.

-On crée un tableau contant les liens de la page

-On catégorise les mots de la page en introduisant dans notre programme ces même mots pour voir s’il y sont ou pas et on leur donne une couleur (Déterminants en rouge, noms en bleu et verbe en vert)

-On présente le nombre des mots présents dans la pages et le nombre de mots différents en mettant le tout en tant que titre:

fichier.write("Le fichier contient "+str(len(liste))+" mots et "+str(len(set(liste)))+" mots différents:")#Avec "str(len(liste))" on calcule le nombre de mots present dans le fichier et avec "str(len(set(liste)))" on calcule le nombre de mots différents présents dans le fichier grâce à l'expression "set" qui permet de ne pas compter les mots présents plusieurs fois dans le fichier.

-On ajoute un tableau qui contiendra tous les mots du textes:

(Volontairement je ne met pas la variable qui permet d'obtenir un tableau) fichier.write("/td /tr tr td(entre balises)\n".join(sorted(set(liste),key=str.lower)))#On ajoute une liste des mots présents dans le fichier pour ce faire on utilise "/td /tr tr td" qui nous permet de mettre les mots dans des cellules individuelles, "join" qui nous permet de joindre la liste de mot au reste du fichier, "sorted" qui nous permet de classer les mots dans l'ordre alphabétique, "set(liste)" qui nous permet de ne répéter les mots qui aparaîssent plusieurs fois dans le fichier et "key=str.lower" qui permet de classer les terme indifféremment selon les majuscules ou les minuscules.

-Et on ajoute un autre tableau contenant tous les mots de la page et leur fréquences dans une cellule côte à côte :

listeord = sorted(set(liste),key=str.lower)#variable "listeord" pour ajouter la fréquence de chaque mots freqliste = []# ajout d'une liste appelée "freqlist" en boucle for mot in listeord: # pour chaque mot de la liste ordonnée freqliste.append((mot,liste.count(mot))) #on compte combien de fois le mot apparaît dans la liste d'origine (juste appellée "liste") print freqliste# on affiche le resultat dans la ligne de commande fichier.write("tr td"+mot+"td td"+str(freq)+"/td /tr (entre balises)")# dans le tableau apparaîtra le mot et sa fréquence à l'aide de l'expreesion "str" qui permettra de calculer la fréquence du mot.

-On ferme le corps et l’endrement :

fichier.write("/div /body (entre balises)")

--> Ferme le fichier :

fichier.close()