Requêtes Text Brut

Pour cette partie, on observe 5 étapes pour cette exercice:


On a choisi un article du magazine en ligne Lefigaro sur la pilule contraceptive.

1) On importe url sur python:


#!/usr/bin/python

# -*- coding: utf-8 -*-

import urllib, re # on importe l'url et le répertoire des expressions régulières afin de nettoyer la page "re" signifiant les expressiosns régulières.

url = urllib.urlopen("http://sante.lefigaro.fr/actualite/2013/01/14/19693-pilule-47-accidents-graves-dans-region-francaise") # on lui demande d'ouvrir le fichier que l'on importe.

2) On lit la page internet en code html:


codehtml = url.read() # on lit la page que l'on stock dans la variable html.

3) On nettoye le codehtml


texte = re.sub("<.*?>","",codehtml) # on remplace les balises par rien.

texte = re.sub(" "," ",texte) # on remplace les doubles espaces par un seul espace.

texte = re.sub("'","'",texte) # on remplace ' par une apostrophe.

texte = re.sub("é","É",texte) #on remplace é par le caractère accentué “É”.

texte = re.sub("ô","ô",texte) #on remplace ô par le caractère “ô”.

texte = re.sub("ê","ê",texte) #on remplace ê par le caractère “ê”.

texte = re.sub("â","â",texte) # on remplace â par le caractère “â”.

texte = re.sub("&","&",texte) # on remplace & par le caractère “& ”.

texte = re.sub("oe","œ",texte) #on remplace oe par "œ”.

4) On crée un fichier de sortie:


fichier = open("pageweb.txt","w") #on crée et on va écrire dans le nouveau fichier.

fichier.write(texte) # on écrit le fichier texte.

fichier.close() # on ferme le fichier de résultat.

5) On fait les décompte sur la page:


# On crée un deuxième fichier de sortie.

fichier2 = open (“infostat.txt, “w”) # on crée et on va écrire dans le nouveau fichier.

Infostat.write("Ce fichier contient "+str(len(texte))+ " caractères.\n")# on cherche à savoir quel est le nombre de caractères dans le texte.

expr = re.compile("\W+",re.U) # on segmente le texte.

liste = expr.split(texte)

infostat.write("Le fichier contient "+str(len(liste))+" mots et "+str(len(set(liste)))+" mots différents.\n")

infostat.write(" ".join(set(liste)))

infostat.write(" ".join(sorted(set(liste)))) # on trie par ordre alphabétique la liste.

infostat.close () # on ferme le fichier.

fichier = open ('pageweb.txt',r')# on rouvre le fichier texte afin de faire un décompte des lignes.

lignes = 1 for line in f.read().split('.'):# on découpe le texte en phrase.

lignes = lignes + 1 # on ajoute 1 à chaque nouvelle phrase afin de savoir combien de phrase on obtient en tout.

fichier.close () # on ferme le fichier que l'on a crée.

Split est une fonction qui permet de segmenter tout un texte en différente partie à partir d'un point ici par exemple. Pour le découpage à partir d'une virgule, on obtiendrait la syntaxe:

lignes = 1 for line in f.read().split(','): # on découpe le texte en «phrase» à partir d'une virgule.

Le code de nettoyage de la page ne s'étant pas afficher correctement cliquer sur ce lien pour le voir.