Brève description du script permettant l'automatisation du traitement des URLs
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.
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.
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.
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.
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.
À 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.
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.
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.
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.