#!/usr/bin/python
# -*- coding: utf-8 -*-

import urllib

url = urllib.urlopen("http://orthoflonie.over-blog.com/article-3547792.html")

codehtml = url.read()
fichier = open("pageweb.txt","w")
import urllib, re

# nettoyer la page
# supprimer les balises comprenant aucun, un ou plusieurs retours à la ligne.
codehtml = re.sub("<.*?>","",codehtml)
codehtml = re.sub("<.*\s*.*>","",codehtml)
codehtml = re.sub("<.*\s*.*\s*.*>","",codehtml)
codehtml = re.sub("<.*\s*.*\s*.*\s*.*\s*.*>","",codehtml)
codehtml = re.sub("<.*\s*.*\s*.*\s*.*\s*.*\s*.*\s*.*>","",codehtml)
# remplacer les é et les les &eacute par é
codehtml = re.sub("é","é",codehtml)
codehtml = re.sub("&eacute;","é",codehtml)
# remplacer les à et les les &agrave; par à
codehtml = re.sub ("à","à",codehtml)
codehtml = re.sub("&agrave;","à",codehtml)
# remplacer les a&circ; les a&icirc; et les &acirc; par â
codehtml = re.sub("a&circ;","â",codehtml)
codehtml = re.sub("&acirc;","â",codehtml)
codehtml = re.sub("a&icirc;","â",codehtml)
# remplacer &nbsp; , les &quot; , par un espace
codehtml = re.sub("&nbsp;","",codehtml)
codehtml = re.sub("&quot;","",codehtml)
# remplacer &laquo; et les &raquo; par des "
codehtml = re.sub("&laquo;",'"',codehtml)
codehtml = re.sub("&raquo;",'"',codehtml)
# remplacer les &egrave; et les è par è
codehtml = re.sub("&egrave;","è",codehtml)
codehtml = re.sub ("è","è",codehtml)
# remplacer OB et la ligne qui suit ses caractères par un espace
codehtml = re.sub("OB.*?;","",codehtml)
# remplacer les e&circ; et les ê par ê
codehtml = re.sub("&ecirc;","ê",codehtml)
codehtml = re.sub("ê","ê",codehtml)
# remplacer les &Eacute par é
codehtml = re.sub("&Eacute;","é",codehtml)
# remplacer var et la ligne qui suit ses caractères par un espace
codehtml = re.sub("var.*?;","",codehtml)
# remplacer _gaq et la ligne qui suit ses caractères par un espace
codehtml = re.sub("_gaq.*?;","",codehtml)
# remplacer window et la ligne qui suit ses caractères par un espace
codehtml = re.sub("window.*?;","",codehtml)
# remplacer ga et la ligne qui suit ses caractères par un espace
codehtml = re.sub("ga.*?;","",codehtml)
# remplacer les  par â
# remplacer // par un espace
codehtml = re.sub("//","",codehtml)
# remplacer try { par un espace
codehtml = re.sub("try {","",codehtml)
# remplacer function et les caractères qui suivent avec un ou plusieurs retours à la lingne
codehtml = re.sub("function.*\s*.*\s*.*\s*.*\s*.*;","",codehtml)




expr = re.compile("\W+", re.U)
listedemots = expr.split(codehtml)
listedemots.sort()

dicoFreq ={}


for mot in listedemots:
    #si le mot n'existe pas déjà dans  dans le dictionnaire
    if mot not in dicoFreq :
        #alors il prend la valeur de 1
        dicoFreq[mot]=1
        #sinon il exixte sa valeur est égale à sa valeur précédente +1
    else: dicoFreq[mot] = dicoFreq[mot]+1


fichier.write(codehtml)
fichier.close ()

fichier2= open ("infostat.txt","w")
fichier2.write ("ce fichier contient " +str(len(codehtml))+" caractères.\n"+"ce fichier contient " +str(len(listedemots))+" mots.\n")

for clef in sorted (dict.iterkeys(dicoFreq)):
    fichier2.write(clef+"\t"+str(dicoFreq[clef])+"\n")

fichier2.write("La fréquence la plus élevée est:"+ str(max(dicoFreq.values())))