Les problèmes d’encodage :

Tout doit être encodé en UTF-8.  Le fichier doit être écrit en UTF-8 et il faut dire qu’on écrit en UTF-8 dans la balise <meta>. Pour certains caractères qui ne figurent pas dans l’ASCII, on peut utiliser des entités HTML indépendemment de l’encodage, par exemple pour écrire ° on écrit &deg; le navigateur traduit cette entité HTML en caractère correspondant. C’est du HTML qui passe au-dessus de l’encodage.

Autre solution : On peut utiliser des codes Unicode pour représenter les caractères problématiques.

 

Suite du cours : On veut créer un tableau qui comporte un colonne contenant les pages aspirées.

On peut recupérée la page que pointe le lien en faisant enregistrer sous, mais les navigateurs réinterprète le HTML et cela ne marche pas toujours.

On va donc utliliser une balise pour copier le contenu de ces pages.

La commande wget : elle récupère le fichier dans un serveur web distant, dans le répertoire à la racine et le ramène sur notre machine dans un endroit qu’on lui a indiqué en faisant une copie à distance.

idem pour curl.

wget renumérote les fichiers. On veut les stocker dans le répertoire pages aspirées.

-O : output

On va nommer le fichier de la page aspirées pour chaque url $i, ça permet d’associer le nom du fichier et de les distanguer, la pages aspirées 5 correspond à la 5è url.

On écrit donc wget http://www.ibm.com/index.html -O .

j= compteur des fichiers url donc des tableaux qui est initialisé à l’extérieur de la boucle.

i= est initialiser à l’ext. sur les urls, et à l’intérieur sur les tableaux.

Ce qui permet de dissocier numéro de tableau et numéro des urls c’est l’association tableau/urls : donc on crée un nom : $j-$i.html

wget http://www.ibm.com/index.html -O ./PAGES-ASPIREES/$j-$i.html

Ce serait mieux de créer dans le répertoire PAGES ASPIREES un fichier fichier pages aspirées par fichier url.

si on veut créer un fichier $j (numéro du fichier url) mkdir $j dans PAGES ASPIREES

wget se place avant la boucle for  nom in `cat $fic`

Dans notre script les urls porte le nom $nom

wget $nom -O ./PAGES-ASPIREES/$i.html; => récupéré l’url stocké dans la machine dans le fichier $i sous le répertoire PAGES ASPIREES

=>position par rapport au programme

On veut placer la page aspirée dans le tableaudes urls. Il faut donc créer une celleule supplémentaire dans notre tableau. Chemin relatif par rapport à l’endroit ou se trouve le fichier tableau dans lequel on veut faire référence au fichier de la page aspirée et non par rapport à l’endroit ou je me trouve.

echo « <tr><td>$i</td></tr><td><tr><a href=\ »$nom\ »>$nom</a></tr></td><tr><td>./PAGES-APSPIREES/$i.html</tr></td> » » >>$tableau;

La variable retourwget ou retourcurl : si la commande se passe bien, le $? porte la valeur 0 et si elle se passe mal elle porte la valeur 1,2,3..

Reagarder les descriptifs de curl et de wget.

Modifier le script pour obtenir le tableau de pages aspirées.