lundi 11 novembre 2013

Un script bash pour établir une page HTML avec un tableau récapitulatif d'URLs et autres pages aspirées ou dumpées ça vous dit ????

Bonjour à tous,

Après plusieurs plantages système (réinstallation,... etc) je me décide à réécrire un petit article.

Le but ? Tout est dans le titre … nous allons générer un script bash permettant de construire une page HTML qui répertorie dans un tableau les URLs que nous avions sélectionnées pour le projet.

Mais ne perdons pas plus temps entrons tout de suite dans le vif du sujet :


Tout d'abord les lignes classiques de préparation :

Ensuite pour ne pas avoir à taper plusieurs fois le chemin d'accès à nos différents fichiers (ce qui aurait été un peu rébarbatif) on a prit soin de créer un fichier "chemin".
La réflexion entourant ce "chemin" n'est pas transcendante, néanmoins il faut quand même avoir en tête l'architecture du projet, car les erreurs sont si vite arrivées ...
Ainsi En partant du dossier  PROGRAMMES qui est notre point de départ il faut remonter d'un dossier dans l'arborescence avant de redescendre à nouveau dans un autre dossier. 
La conséquence est que le fichier chemin a la forme suivante :
../URLS/liste_url_nourriture_jap
../TABLEAUX/liste_urls_tableaux.html
→ le fichier liste liste_url_nourriture_jap est notre fichier d'URLs situé dans le dossier URLS , il existe déjà et contient 50 URLs.
→le fichier liste_urls_tableaux.html lui n'existe pas, il sera notre résultat, la page html créée pour contenir nos résultats.

Commençons à écrire le script bash !!!!
D'abord on tiens à faire appel à notre fichier chemin en entrée ce sera le rôle des lignes suivantes :

 Ainsi on stocke dans les variables fic et tablo le contenu de nos chemins, la commande read se chargeant de lire ligne à ligne par assimilation à notre flux d'entrée puis de faire le stockage.

Vient ensuite le moment d'écrire notre tableau :

On a  prit soin d'insérer un intitulé et des titres pour les colonnes ( note : on a volontairement coupé le code afin de le rendre lisible) et d'établir une balise meta qui va créer une page HTML codée en UTF8.

Ensuite on doit automatiser les taches suivantes, cela car il faudra reproduire la même action pour les 50 urls et à chaque fois les stocker dans le tableau :
étape 4,5,6 et 7 à chaque fois annotée
Création du compteur :
Initialisation de la boucle :
Ecriture dans le tableau et référencement des objets :
Fin de la boucle et fin de l'écriture du tableau :

Reste à lancer dans le terminal :

 et on obtient 50 fois :
mais surtout le résultat final :



Bonne soirée et à bientôt !!!!

Joe 


2 commentaires:

  1. Ne pourrait-t-on pas créer une procédure de "sécurité" pour éviter le phénomène de liens morts ?

    RépondreSupprimer
  2. Pour répondre à Johan, il serait en effet envisageable de tester le retour de la commande de récupération de l'URL via wget...
    En examinant par exemple le contenu de la page récupérée...

    RépondreSupprimer