Python est un langage de programmation utilisé comme langage de script.
Le but de cette première partie est la création d'un script entier pour extraire les mots d'une page web.

Article "Le Monde" Tryo s'engage pour des concerts moins polluants
que le programme analyse, cliquez ici.
Cliquez ici pour accéder à mon script
Page Web produit par le programme, cliquez ici


Etapes du programme:

1) INTERPRETATION DU CODE

#!/usr/bin/python        # lieu des librairies

 # -*- coding: utf-8 -*- # encodage en utf-8

import urllib, re        # import des expressions régulières


2) RECUPERATION D'UNE PAGE WEB

import urllib   # import de la "bibliothèque" url

urll = urllib.urlopen("http://www.google.fr/")

 # ouverture et stockage de la bibliothèque url dans une nouvelle variable appelée urll (lien entre les bibliothèque url et url http://www.google.fr)

codesite = url.read()

# stockage et lecture des données de l’url dans une variable appelée codesite

print codesite

# permet de voir ce que contient la variable codehtml = affichage du script du site de parisfilm.fr

codesite=codesite.decode("iso-8859-1") # décoder manuellement la page si nécessaire


3) EXTRAIRE LE TITRE DE LA PAGE WEB

search_pagename = re.search("<title>(.*)</title>",codehtml) 

# isolation du morceau recherché (le titre) à l'aide des parenthèses (création d'un groupe, encastré entre les balises de début et de fin de titre)

pagename = search_pagename.group(1)


4) ECRIRE LA PAGE DANS UN FICHIER LOCAL = ENREGISTRER LE SCRIPT SUR LE DISQUE DUR

fichier = open("pageweb.html","w")

# création d'un fichier de sortie html avec la page web recupérée(pageweb.html) en écriture seule (w=write/ecrire)


5) CREER UNE NOUVELLE PAGE HTML

fichier.write("""<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Analyse d'un fichier</title> </head> <body> """)

# écrire dans le fichier l'entête d'une page html c'est-à-dire <head>tête de la page <title>titre</title>fin de titre </head> <body>fin de tête et ouverture du corps de la page (réalisé sur plusieurs lignes avec """)


6) PREPARER LA SORTIE

texte=texte.encode("utf-8") # encoder en utf-8

lesmots=" ".join(liste).encode("utf-8") # idem pour la liste de mots


7) EXTRAIRE LES LIENS PRESENTS DANS LA PAGE HTML

liste_liens = []

# on créé une liste vide, dans laquelle on va ranger les liens trouvés (création d’un tableau vide rangé dans une variable liste_liens)

search_lien = re.findall("<a href=.*>(.*)</a>?",codehtml) 

re.findall()

#permet de trouver toutes les occurrences du motif recherché

for i in search_lien:

# on fait une boucle pour parcourir la liste et en imprimer chaque élément dans le fichier de sortie

fichier.write(i) # indenter le code


8) NETTOYER LA PAGE

texte = re.sub("<.*?>","",codehtml)

# on veut remplacer toutes les balises html du texte (comprises entre < et >)(.*? désignant n'importe quel caractère autant de fois qu’on le veut) par rien ("")