BASH : Script 3 Dump initial des pages
L'étape suivante de notre projet a consisté à sélectionner les contenu texte des pages apirées et à l'enregistrer dans un nouveau fichier. Nous avons donc du rajouter une autre colonne à notre tableau contenant le lien menant à ce nouveau fichier. Voici donc ce nouveau script :
#!/bin/bash
read EnsembleURL;
read tablo;
# mise en place de l'en-tête de la page html
echo "<html>" >$tablo;
echo "<head>" >> $tablo;
echo "<meta http-equiv=\"Content-Type\" content=\"texte/html;charset=ISO-8859-1\"> </head> <body> <center>">> $tablo;
# création de l'en-tête d'un tableau et récupération du fichier URLS désiré. Début de la boucle 1
for file in `ls $EnsembleURL`;
do echo "<table border=\"2\">" >> $tablo;
echo "<th bgcolor=\"grey\" colspan=\"4\">Liste URL $file</th><tr><td bgcolor=\"#A9A9A9\">nº</td><td bgcolor=\"#A9A9A9\">URL</td><td bgcolor=\"#A9A9A9\">Pages aspirées</td><td bgcolor=\"#A9A9A9\">Dump initial</tr>" >> $tablo;
numligne=1;
# création du corps d'un tableau. boucle 2
while read url
do
echo "url n°$numligne du fichier $file : $url";
curl -L $url >./PAGES-ASPIREES/$file$numligne.html;
lynx -dump $url >./DUMP-TEXT/$file$numligne.txt;
file -i DUMP-TEXT/$file$numligne.txt | cut -d = -f2;
echo "<tr><td> <font color=\"red\">$numligne</font> </td>" >>$tablo;
echo "<td><a href=\"$url\" target=\"_blank\">URL nº$numligne</a></td>" >>$tablo;
echo "<td><a href=\"../PAGES-ASPIREES/$file$numligne.html\" target=\"_blank\">Page Aspirée nº$numligne</a></td>" >> $tablo;
echo "<td><a href=\"../DUMP-TEXT/$file$numligne.txt\" target=\"_blank\">Résultat du dump initial nº$numligne <br> $encodage</a></td></tr>" >> $tablo;
let "numligne=numligne+1";
done <./$EnsembleURL/$file;
# fin de la boucle 1
echo "</table><br><br>" >> $tablo;
done < $EnsembleURL/$file/;
# fin de la page html
echo "</center></body></html>" >> $tablo;
Script Tableau 3
- Nous avons essayé de faire afficher l'encodage des pages dans la dernière colonne. Mais si nous sommes bien parvenues à détecter l'encodage, nous n'avons réussi à stocker cette information dans une variable pour pouvoir la manipuler par la suite. L'encodage s'affiche en revanche pour chaque url dans le terminal. Voici la commande que nous avons utilisée :
file -i DUMP-TEXT/$file$numligne.txt | cut -d = -f2;
- A noter que nous avons modifié le nom de notre ancienne variable $file qui contenait le nom des fichiers d'url. En effet, il n'est pas souhaitable d'avoir une variable qui porte le nom d'une commande.