-
Séance 4
L'objectif de la séance: créer un programme qui avec une liste d'URLS, créer un tableau dans une page html. Ce tableau a trois colonnes: numéro de ligne de l'URL, lien de l'URL, ainsi qu'un lien interne vers la page html aspirée. Pour chaque fichier d'urls, il faut un tableau html.
On précise en commentaire comment exécuter le programme, puis on déclare les arguments en tant que variable dans le programme.
#!/usr/bin/bash
#bash ./PROGRAMMES/projet.sh ./URLS ./TABLEAUX/tableau.html
#input du programme : NOM DE DOSSIER est donné en premier argument
#output du programme : TABLEAU HTML est donné en second argument
dossierURL=$1;
montableau=$2;
On crée la page html avec l'entête de cette dernière:echo "<html><head><meta charset=\"utf8\"></head><body>" > $montableau; On initialise le compteur des tableau:
compteur_tableau=1; Avec une boucle for, on va ensuite parcourir la url de chaque fichier. dans cette boucle for, on va:
- Pour chaque fichier d'URLs, on va créer un nouveau tableau avec un titre
- Initialiser le compteur d'URLS
- Tant que le programme lit le fichier d'URL ligne par ligne:
- Traiter l'URL: pour le moment, cela consiste à "aspirer" la page html associé à l'URL avec la commande curl.
- Écrire dans le tableau final: le numéro de l'URL, le lien de l'URL, ainsi que le lien interne de la page aspirée
- Incrémenter le compteur d'URL
for fichier in $(ls $dossierURL);
do
echo $fichier;
echo "<table border="10px">" >> $montableau;
compteur=1;
echo "<tr><th colspan=\"3\">TABLEAU $compteur_tableau</th></tr>" >> $montableau ;
compteur_tableau=$((compteur_tableau+1));
while read ligne
do
curl $ligne -o ./PAGES-ASPRIREES/$compteur_tableau$compteur.html;
echo "<tr><td>$compteur</td><td><a href=\"$ligne\" target=\"_blank\">$ligne</a> </td><td><a href=\"../PAGES-ASPIREES/$compteur_tableau$compteur\">Page aspirée numero: $compteur_tableau$compteur</a></td></tr>" >> $montableau;
compteur=$((compteur+1));
done < ./$dossierURL/$fichier
echo "</table>" >> $montableau ;
done ;On finit la sortie de la page html:
echo "</body></html>" >> $montableau ; Pour télécharger le programme réalisé: Télécharger « projet.sh »
Attention: on remarque que certaines page html ne sont pas correctement aspirées ou ne sont pas aspirées par le programme.
-
Commentaires