• Créer un tableau HTML avec Bash (sites DE et KOR)

     

      Une partie de notre projet consiste en la récupération des données sur lesquelles nous allons travailler plus tard. L’objectif de cette étape est d’obtenir un corpus de textes à partir de sites internet que nous avons choisis. Nous avons décidé de nous concentrer sur des articles de presse de différentes langues contenant l’expression « parents hélicoptères ». Alexandra s’occupe de sites en chinois et en français, tandis que je travaille sur des sites allemands et coréens. Parmi les journaux en allemand, Die Zeit a par exemple été pris en compte, et le journal Chosun était une source pour le coréen. Les adresses URL des articles que nous avons choisis ont été enregistrés chacun dans un fichier texte, en fonction de la langue. (Disponibles ici : « german.txt » et là : « korean.txt »)

     

      Pour cette étape importante de notre projet, nous écrivons un programme en Bash avec nos enseignants durant les séances de cours. Ce programme nous permet de traiter tous les fichiers énumérant les sites que nous avons choisis, automatiquement et d’une seule traite. Nous ne sommes pas encore arrivés à la version finale du programme, mais nous devrions l’avoir bientôt.

     

      Tout d’abord, nous souhaitons que les progrès du traitement des sites soient enregistrés dans autant de tableaux HTML que de langues – plus précisément de fichiers contenant les listes d’URLs. Pour ce faire, nous définissons des arguments : le dossier contenant les fichiers et le nom du fichier HTML. Pour que nous obtenions réellement un fichier HTML montrant des tableaux, le programme doit écrire des balises pertinentes dans le fichier.

     

      Ensuite, nous passons au traitement des listes d’URLs. Chaque résultat sera inscrit dans les tableaux. La première colonne est le numéro de l’URL – la ligne du fichier pour ce site. La deuxième est l’adresse elle-même. Pour le moment, nous n’avons eu aucun souci pour les sites allemands et coréens en ce qui concerne la récupération de ces deux valeurs.

     

      Nous voulons « aspirer » les sites grâce à la commande curl et savoir si « l’aspiration » c’est correctement passé. On regarde alors le code HTTP produit lors de la commande, et le notons dans le tableau. Si le code est 200, cela s’est bien passé. Sinon, la page n’a pas pu être aspirée. Dans le cas des sites en allemand, 3 sites n’ont pu être récupérés, et 4, des sites en coréen. Leur code HTTP varient entre 400, 302, 403 et 410 (respectivement : syntaxe de la requête erronée, restriction temporaire, accès refusé et ressource plus disponible).

     

      Si les pages sont bien aspirées, nous souhaitons connaître leur encodage, et s’il s’agit de l’UTF-8, le programme doit récupérer le contenu textuel et le sauvegarder dans des fichiers textes. Toutes les pages en allemand qui ont pu être récupérées, ont été encodées en UTF-8, à part une en ISO-8859-1. Quatre pages sont dans le même cas en coréen, mais sur cinq pages, l’encodage n’a pas été reconnu. Quelques pages ont également été encodées en EUC-KR. Il se trouve que la présentation de l’encodage dans le code HTML varie parfois, et il est même possible de trouver plusieurs fois le mot « charset » dans la balise <head> de la page. Ce mot permet d’identifier le système d’encodage.

     

      Finalement, nous voulons savoir combien d’occurrence du motif choisi, « parents hélicoptères » pour nous, apparaît dans chaque article. Nous avons cherché le motif en allemand, « Helikopter-Eltern », mais il existe d’autres façons de l’écrire. Bien évidemment, en ne recherchant seulement ce motif, aucune occurrence n’est observée dans les pages en coréen. Il faudra réfléchir à comment formuler un motif comprenant toutes les variations.

      Pour télécharger le programme Bash, cliquer ici, et  pour voir le tableau obtenu sur les fichiers d'URLs en allemand et en coréen.

     


  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :