Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

BASH : Script 3 Dump initial des pages

20 Novembre 2012

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 :

Publicité

#!/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&ordm</td><td bgcolor=\"#A9A9A9\">URL</td><td bgcolor=\"#A9A9A9\">Pages aspir&eacutees</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&ordm$numligne</a></td>" >>$tablo;
echo "<td><a href=\"../PAGES-ASPIREES/$file$numligne.html\" target=\"_blank\">Page Aspir&eacutee n&ordm$numligne</a></td>" >> $tablo;
echo "<td><a href=\"../DUMP-TEXT/$file$numligne.txt\" target=\"_blank\">R&eacutesultat du dump initial n&ordm$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.

Publicité
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
S
1. si vous faites quelque chose comme :<br /> encodage=$(file -i DUMP-TEXT/$file$numligne.txt | cut -d = -f2);<br /> ça devrait permettre de stocker dans une variable nommée ici encodage.<br /> <br /> 2. Remarque sur votre script :<br /> le repérage de l'encodage doit se faire avant le lynx car l'encodage doit être utilisé pour exécuter le dump via lynx (et via une autre option de lynx qui permet de spécifier l'encodage du dump : cf page du cours http://www.tal.univ-paris3.fr/cours/PROJET-MOT-SUR-LE-WEB/ (rubrique : 3ème script)<br /> pour repérer l'encodage : travailler sur le fichier récupéré via curl
Répondre
A
Oui merci, la solution avec<br /> encodage=$(file -i DUMP-TEXT/$file$numligne.txt | cut -d = -f2);<br /> fonctionne!