Script

Brève description du script permettant l'automatisation du traitement des URLs

Sa visée et son élaboration

L'une des étapes les plus importantes du projet était la création d'un script bash qui permettait non seulement de récupérer des données textuelles en ligne pour pouvoir se constituer un corpus, mais également de faire une première analyse de ces données en extrayant le contexte autour d'un motif choisi. Le script produit en sortie une page HTML contenant les tableaux de données de chaque langue.

Tout au long du semestre, nous n'avons eu de cesse de l'améliorer et de le rendre le plus polyvalent possible. Nous vous invitons d'ailleurs à vous rendre sur notre blog, qui contient des articles plus détaillés sur les différentes commandes utilisées dans le script. Pour l'instant, vous trouverez ci-dessous les étapes principales qui ont guidé son écriture.

Lecture des paramètres

Les liens vers le dossier des fichiers d'URLs et vers le tableau final, ainsi que le motif, sont donnés dans un fichier paramètres, à rediriger sur l'entrée standard.

Chaque URL de chaque fichier d'URLs est aspirée grâce à la commande curl ; le code de statut HTTP est également récupéré.

L'encodage de la page est en général une information renvoyée par le serveur, détectable avec curl toujours. Si besoin, la balise meta charset et la commande file permettent aussi de l'obtenir.

Obtention du dump

En faisant appel à un navigateur qui s'utilise en ligne de commande, lynx, il est possible d'extraire le contenu textuel de la page aspirée. Il s'agit du dump, un texte brut.

Transcodage

Les fichiers dumps devant obligatoirement être en UTF-8 pour être traités, ils sont transcodées grâce la commande iconv si ce n'est pas le cas.

Recherche d'erreurs

Les dumps contenant des messages d'erreur, comme Error 404: Page Not Found, inutiles au projet car ils ne comportent pas le motif recherché, sont supprimés.

Extraction du contexte

À l'aide de la commande egrep et d'une expression régulière, la ligne contenant le motif visé, ainsi que les lignes environnantes, sont récupérées.

Création des index

Un index renseigne la liste de tous les mots d’un dump, avec leur fréquence, l'idéal étant que le mot choisi fasse partie des plus utilisés.

Génération des fichiers globaux

Les fichiers globaux de chaque langue sont créés grâce à la commande cat : il s'agit de la concaténation de tous les dumps et celle de tous les contextes.

Écriture des résultats

Via la commande echo, la page HTML se remplit de différentes balises. Les tableaux se composent de onze colonnes, chacune ayant une fonction spécifique.