_____________________________________________________________________________________________________________
#!/bin/bash
echo "donne nom de fichier contenant les pages wgettées";
read fic; #le programme connait le fichier de pages wgettées
sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le
tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la
variable $tablo
echo "<html><head><title>tableau de
liens</title></head><body><table
border=\"1\">" > $tablo; #code de début de tableau
for nom in `ls $fic` #$nom est la variable dans laquelle sera
stocké chaque lien
{
lynx -dump ./$fic/$nom > $nom.txt;
echo "<tr>
<td><a href=\"./$fic/$nom\">$nom</a></td>
<td><a href=\"./$nom.txt\">$nom.txt</a></td>
</tr>" >> $tablo;
}
echo "</table></body></html>" >> $tablo; #code
de fin de tableau
#le fichier dont le nom correspond à la variable tablo est
maintenant créé,ouvrez-le
____________________________________________________________________________________________________________
- en modifiant le script précédent, création
du script qui fait toutes
les opérations (lis le fichier texte avec les URLs, applique sur
chaque lien la commande "wget", puis "lynx -dump", puis "egrep
i-motif") en une seule boucle et en sortie crée un tableau
à 4 colonnes;
- pour renommer les fichiers plus facilement et
d'une manière automatique, on utilise une variable
numérique;
- vu
qu'on a distinqué au départ le traitement du mot
"barrage" selon le sens, on applique ce script sur chacun de nos
fichiers URLs, on obtient donc cind tableau, soit un par sens;
- avant
d'appliquer le script, on a du créer les répertoires
nécessaires ("dump_hydraulique", "dump_musique", etc.) ainsi que
faire des changement dans
le script des noms des répertoires selon
sens;
- les 5 scripts sont suivants:
- script
pour le sens "barrage_routier":
___________________________________________________________________________________________________________
#!/bin/bash
echo "donne nom de fichier contenant les liens http"; #c'est la liste
des pages à wgetter
read fic; #le programme connait le fichier de liens sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le
tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la
variable $tablo
echo "<html><head><title>tableau de
liens</title></head><body><table
border=\"1\"><TR><TD ALIGN="center" COLSPAN=\"4\"
width=\"900\" BGCOLOR=\"#7EA89B\"><B>Barrage
Routier</B></TD></TR><tr><th
BGCOLOR=\"#8BA1BA\"><B>URLs
Initiales</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Pages
Aspirées</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Fichiers
Dumpés</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Contexte
\"barrage\"</B></th></tr>" > $tablo; #code de
début de tableau
i=0;
for lien in `cat $fic` #$nom est la variable dans laquelle sera
stocké chaque lien
{
wget -q -O - $lien >
./wget_barrage_routier/$i.html ;
lynx -dump ./wget_barrage_routier/$i.html >
./dump_barrage_routier/$i.txt;
egrep -i -A 2 -B 2 "barrage" <
./dump_barrage_routier/$i.txt > ./egrep_barrage_routier/$i.egrep;
echo "<tr><td><a
href=\"$lien\">$lien</a></td><td><a
href=\"./wget_barrage_routier/$i.html\">$i.html</a></td>
<td ><a
href=\"./dump_barrage_routier/$i.txt\">$i.txt</a></td>
<td ><a
href=\"./egrep_barrage_routier/$i.egrep\">$i.egrep</a></td>
</tr>" >> $tablo; #création d'un
tableau à trois colonnes et autant de lignes qu'il y a d'URL
let "i += 1" ;
}
echo "</table></body></html>" >> $tablo; #code
de fin de tableau
#le fichier dont le nom correspond à la variable tablo est
maintenant créé,ouvrez-le
#wget -q, --quiet: ne produira pas de message.
#wget -O --output-document=FIC: stocke les documents dans
FIChier.
#let: permet les opérations arithmétiques sur des
variables.
#let "i+=1" : Incrémente "i".
________________________________________________________________________________________________________________
- le script
pour le sens "barrage hydraulique":
_______________________________________________________________________________________________________________
#!/bin/bash
echo "donne nom de fichier contenant les liens http"; #c'est la liste
des pages à wgetter
read fic; #le programme connait le fichier de liens sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le
tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la
variable $tablo
echo "<html><head><title>tableau de
liens</title></head><body><table
border=\"1\"><TR><TD ALIGN="center" COLSPAN=\"4\"
width=\"900\" BGCOLOR=\"#7EA89B\"><B>Barrage
Hydraulique</B></TD></TR><tr><th
BGCOLOR=\"#8BA1BA\"><B>URLs
Initiales</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Pages
Aspirées</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Fichiers
Dumpés</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Contexte
\"barrage\"</B></th></tr>" > $tablo; #code de
début de tableau
i=0;
for lien in `cat $fic` #$nom est la variable dans laquelle sera
stocké chaque lien
{
wget -q -O - $lien > ./wget_hydraulique/$i.html ;
lynx -dump ./wget_hydraulique/$i.html >
./dump_hydraulique/$i.txt;
egrep -i -A 2 -B 2 "barrage" <
./dump_hydraulique/$i.txt > ./egrep_hydraulique/$i.egrep;
echo "<tr><td><a
href=\"$lien\">$lien</a></td><td><a
href=\"./wget_hydraulique/$i.html\">$i.html</a></td>
<td ><a
href=\"./dump_hydraulique/$i.txt\">$i.txt</a></td>
<td ><a
href=\"./egrep_hydraulique/$i.egrep\">$i.egrep</a></td>
</tr>" >> $tablo; #création d'un
tableau à trois colonnes et autant de lignes qu'il y a d'URL
let "i += 1" ;
}
echo "</table></body></html>" >> $tablo; #code
de fin de tableau
#le fichier dont le nom correspond à la variable tablo est
maintenant créé,ouvrez-le
#wget -q, --quiet: ne produira pas de message.
#wget -O --output-document=FIC: stocke les documents dans
FIChier.
#let: permet les opérations arithmétiques sur des
variables.
#let "i+=1" : Incrémente "i".
______________________________________________________________________________________________________________
- le script
pour le sens "match de barrage":
_______________________________________________________________________________________________________________
#!/bin/bash
echo "donne nom de fichier contenant les liens http"; #c'est la liste
des pages à wgetter
read fic; #le programme connait le fichier de liens sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le
tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la
variable $tablo
echo "<html><head><title>tableau de
liens</title></head><body><table
border=\"1\"><TR><TD ALIGN="center" COLSPAN=\"4\"
width=\"900\" BGCOLOR=\"#7EA89B\"><B>Match de
Barrage</B></TD></TR><tr><th
BGCOLOR=\"#8BA1BA\"><B>URLs
Initiales</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Pages
Aspirées</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Fichiers
Dumpés</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Contexte
\"barrage\"</B></th></tr>" > $tablo; #code de
début de tableau
i=0;
for lien in `cat $fic` #$nom est la variable dans laquelle sera
stocké chaque lien
{
wget -q -O - $lien >
./wget_match_de_barrage/$i.html ;
lynx -dump ./wget_match_de_barrage/$i.html >
./dump_match_de_barrage/$i.txt;
egrep -i -A 2 -B 2 "barrage" <
./dump_match_de_barrage/$i.txt > ./egrep_match_de_barrage/$i.egrep;
echo "<tr><td><a
href=\"$lien\">$lien</a></td><td><a
href=\"./wget_match_de_barrage/$i.html\">$i.html</a></td>
<td ><a
href=\"./dump_match_de_barrage/$i.txt\">$i.txt</a></td>
<td ><a
href=\"./egrep_match_de_barrage/$i.egrep\">$i.egrep</a></td>
</tr>" >> $tablo; #création d'un
tableau à trois colonnes et autant de lignes qu'il y a d'URL
let "i += 1" ;
}
echo "</table></body></html>" >> $tablo; #code
de fin de tableau
#le fichier dont le nom correspond à la variable tablo est
maintenant créé,ouvrez-le
#wget -q, --quiet: ne produira pas de message.
#wget -O --output-document=FIC: stocke les documents dans
FIChier.
#let: permet les opérations arithmétiques sur des
variables.
#let "i+=1" : Incrémente "i".
_____________________________________________________________________________________________________________
- le script
pour le sens "barrage (musique)":
______________________________________________________________________________________________________________
#!/bin/bash
echo "donne nom de fichier contenant les liens http"; #c'est la liste
des pages à wgetter
read fic; #le programme connait le fichier de liens sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le
tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la
variable $tablo
echo "<html><head><title>tableau de
liens</title></head><body><table
border=\"1\"><TR><TD ALIGN="center" COLSPAN=\"4\"
width=\"900\" BGCOLOR=\"#7EA89B\"><B>Barrage
(musique)</B></TD></TR><tr><th
BGCOLOR=\"#8BA1BA\"><B>URLs
Initiales</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Pages
Aspirées</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Fichiers
Dumpés</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Contexte
\"barrage\"</B></th></tr>" > $tablo; #code de
début de tableau
i=0;
for lien in `cat $fic` #$nom est la variable dans laquelle sera
stocké chaque lien
{
wget -q -O - $lien > ./wget_musique/$i.html ;
lynx -dump ./wget_musique/$i.html >
./dump_musique/$i.txt;
egrep -i -A 2 -B 2 "barrage" <
./dump_musique/$i.txt > ./egrep_musique/$i.egrep;
echo "<tr><td><a
href=\"$lien\">$lien</a></td><td><a
href=\"./wget_musique/$i.html\">$i.html</a></td>
<td ><a
href=\"./dump_musique/$i.txt\">$i.txt</a></td>
<td ><a
href=\"./egrep_musique/$i.egrep\">$i.egrep</a></td>
</tr>" >> $tablo; #création d'un
tableau à trois colonnes et autant de lignes qu'il y a d'URL
let "i += 1" ;
}
echo "</table></body></html>" >> $tablo; #code
de fin de tableau
#le fichier dont le nom correspond à la variable tablo est
maintenant créé,ouvrez-le
#wget -q, --quiet: ne produira pas de message.
#wget -O --output-document=FIC: stocke les documents dans
FIChier.
#let: permet les opérations arithmétiques sur des
variables.
#let "i+=1" : Incrémente "i".
_____________________________________________________________________________________________________________
- le script
pour le sens "faire barrage"
(opposition):
_____________________________________________________________________________________________________________
#!/bin/bash
echo "donne nom de fichier contenant les liens http"; #c'est la liste
des pages à wgetter
read fic; #le programme connait le fichier de liens sous le nom $fic
echo "donne nom de fichier html où stocker ces liens"; #c'est le
tableau de liens à créer
read tablo; #enregistre nom donné par utilisateur dans la
variable $tablo
echo "<html><head><title>tableau de
liens</title></head><body><table
border=\"1\"><TR><TD ALIGN="center" COLSPAN=\"4\"
width=\"900\" BGCOLOR=\"#7EA89B\"><B>Faire Barrage
(opposition)</B></TD></TR><tr><th
BGCOLOR=\"#8BA1BA\"><B>URLs
Initiales</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Pages
Aspirées</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Fichiers
Dumpés</B></th><th
BGCOLOR=\"#8BA1BA\"><B>Contexte
\"barrage\"</B></th></tr>" > $tablo; #code de
début de tableau
i=0;
for lien in `cat $fic` #$nom est la variable dans laquelle sera
stocké chaque lien
{
wget -q -O - $lien > ./wget_opposition/$i.html ;
lynx -dump ./wget_opposition/$i.html >
./dump_opposition/$i.txt;
egrep -i -A 2 -B 2 "barrage" <
./dump_opposition/$i.txt > ./egrep_opposition/$i.egrep;
echo "<tr><td><a
href=\"$lien\">$lien</a></td><td><a
href=\"./wget_opposition/$i.html\">$i.html</a></td>
<td ><a
href=\"./dump_opposition/$i.txt\">$i.txt</a></td>
<td ><a
href=\"./egrep_opposition/$i.egrep\">$i.egrep</a></td>
</tr>" >> $tablo; #création d'un
tableau à trois colonnes et autant de lignes qu'il y a d'URL
let "i += 1" ;
}
echo "</table></body></html>" >> $tablo; #code
de fin de tableau
#le fichier dont le nom correspond à la variable tablo est
maintenant créé,ouvrez-le
#wget -q, --quiet: ne produira pas de message.
#wget -O --output-document=FIC: stocke les documents dans
FIChier.
#let: permet les opérations arithmétiques sur des
variables.
#let "i+=1" : Incrémente "i".
______________________________________________________________________________________________________________
Problèmes rencontrés:
- les fichier .asp donnent
des fichiers erronés, c'est à dire qu'après l'application
des commandes on obtient des fichiers vides. A défaut d'une
autre
solution, nous avons décidé de supprimer les URls .asp et
les
remplacer par des nouveaux liens .html.
- en conséquence, nous avons du "faire tourner" le
script encore une fois à partir des fichiers URLs
modifiés.
Résultat final:
- 5 tableaux (un par sens) à 4 colonnes qui ont
été
concaténés dans un seul fichier avec l'aide de la
commande "cat":