17 Décembre 2012
L'objectif de cette partie du projet encadré consiste à créer une seconde colonne dans le tableau qui contient ce que l'on appelle une page aspirée.
une page aspirée, c'est à un peu la fonction d'un aspirateur. Cela signifie que l'on souhaite recuperer, extraire seulement l'information qui nous interesse dans une page donnée.
Voici donc le script :
echo "Donnez le nom du dossier contenant les liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens : ";
read webPage;
i=1
for sites in `ls $dossier`
{
y=1
echo "<thead><tr><th>Fichier $sites</th><th>PAGES-ASPIREES</th></tr></thead>">> $webPage
#echo "<tr><td align=\"center\" bgcolor=\"silver\" colspan=\"3\"><b style=\"font-family:arial;\">Fichier $sites</b></td></tr>" >> $webPage;
for nom in `cat $sites`
{
wget -O ./PAGES-ASPIREES/$i.html $nom
echo "<tbody><tr><td><a href=\"$nom\" target=\"_blank\">Url $y</a></font></td><td><a href=\"../PAGES-ASPIREES/$i.html\">PAGE ASPIREE</a></td></tr></tbody>" >> $webPage;
let "i+=1" ;
let "y+=1" ;
}
}
echo "</table></body></html>" >> $webPage;
Explication :
On a toujours notre boucle.
for nom in `cat $sites` : lit et affiche le contenu de la variable sites (les liens). La variable Nom prendra successivement les valeurs de la variable sites.
Cependant d'autres éléments devraient nous interesser :
i : variable auquel on affecte la valeur 1
Wget : la commande d'aspiration des pages.
La boucle lit le lien http et aspire ces liens ainsi que leur page web (.html), elle place tout ceci dans une deuxieme colonne appelé PAGES ASPIREES qui contiendra un lien actif qui renverra vers le lien et donc sa page web.
Le dernier element let "i+=1" signifie que la boucle va parcourir les fichiers 1 par 1 (let "i+1=1 ainsi i=2) et ainsi de suite.
i=1 se met en dehors de la boucle (la variable, si on la met à l'intérieur de la boucle, elle ne va générer que des 1)
et i+=1 à l'intérieur de la boucle (pour réaliser le calcul)
Ce script nommé CreationTableau2.sh doit être enregistré dans le dossier PROGRAMMES
DANS LE BASH
Il vous faudra réecrire exactement la même chose que précedement puisque ce n'est qu'une modification du script précédent:
$ sh CreationTableau2.sh < sites.txt (CreationTableau2.sh c'est le nom sous lequel le script a été sauvegardé)
echo "Donnez le nom du dossier contenant les liens http : "
echo "Donnez le nom du fichier html où stocker ces liens : ";