#!/usr/bin/python

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

 

import urllib.request, re              #importe les bibliotheques

 

path = "http://www.lematin.ch/faits-divers/corps-etudiante-violee-rapatrie-inde/story/16122963"

 

url = urllib.request.urlopen(path)  #stocke le code source de la page web (défini par la variable path) dans la variable url

 

codehtml = url.read()               #stocke le code source de la page web dans la variable codehtml

 

codehtml=codehtml.decode("iso-8859-1")     

 

texte = re.sub("<.*?>" ,"" ,str(codehtml))  #efface tous les phrases commencant par < et finissant par >

 

texte1 = re.sub("\t" ,"" ,str(texte))       #efface tous les balises \t

texte = texte1                              #texte1 est unr variable de transition, texte est donc implémenté avec les changements de texte1

texte1 = re.sub("\r" ,"" ,str(texte))       #efface tous les balises \r

texte = texte1

texte1 = re.sub("\n" ,"" ,str(texte))       #efface tous les balises \n

texte = texte1

texte1 = re.sub("function(.*?)" ,"" ,str(texte))    #efface tous les phrases commencant par function( et finissant par )

texte = texte1

texte1 = re.sub("{.*?}" ,"" ,str(texte))    #efface tous les phrases commencant par { et finissant par }

texte = texte1

texte1 = re.sub("//.*?" ,"" ,str(texte))    #efface tous les phrases commencant par //

texte = texte1

 

texte=texte.encode("utf-8")             #encode le texte nettoyé en utf-8, pour le rendre enregistrable dans un fichier

 

print (texte)                           #affiche le texte nettoyé dans la console Python

 

fichier = open("D:\pageweb.txt","w")    #créé (ou écrit par dessus) le fichier pageweb.txt se trouvant à la racine de de D:

 

fichier.write(str(texte))               #ecrire dans le fichier le texte contenu dans la variable "texte"

fichier.close()                         #fermer le fichier

 

 

#compter le nb de mots

expr = re.compile("\W+",re.U)           #definit qu'un mot est composé d'au moins un caractère alphanumérique

nb_mots = expr.split(str(texte))        #decoupe le texte complet de la page en affichant une occurence pour chaque mot

nb_mots = len(nb_mots)                  #compte le nombre d'occurences et stocke le résultat final dans la variable nb_mots

 

 

infostat = open("D:\infostat.txt","w")  #créé (ou écrit par dessus) le fichier infostat.txt se trouvant à la racine de de D:

 

infostat.write("Le fichier contient "+str(nb_mots)+" mots.\n")              #ecrire dans le fichier infostat.txt le texte contenu dans la variable "nb_mots". Le str() force sa conversion en string

 

f = open('D:\pageweb.txt','r')          #ouvre le fichier pageweb.txt se trouvant sur D:\ en lecture

 

phrases = 1                             # définit la variable phrases à 1  

for line in f.read().split('.') :       #boucle incrémentant la variable phrase dès qu"un point est trouvé.

    phrases = phrases + 1

 

infostat.write("Le fichier contient "+str(phrases)+" phrases.\n")              #ecrire dans le fichier infostat.txt le texte contenu dans la variable "nb_mots". Le str() force sa conversion en string

 

caracteres = 0                          #définit la variable caracteres à 0

liste = expr.split(str(texte))          #liste tous les mots contenus dans le texte nettoyé

for mot in liste :                      #parcourt la liste des mots, compte le nombre de caractères et ajoute ce nombre à la variable caracteres

    caracteres = caracteres + len(mot)

 

infostat.write("Le fichier contient "+str(caracteres)+" caractères.\n")              #ecrire dans le fichier infostat.txt le texte contenu dans la variable "caracteres". Le str() force sa conversion en string

 

 

f.close()                               #ferme le fichier D:\pageweb.txt

infostat.close()                        #ferme le fichier infostat.txt