Accéder au contenu principal

Articles

Affichage des articles du novembre, 2019

#Article 8 : Le Traitement Du Japonais

Bien que l'aspiration des pages japonaises se soit déroulée sans l'ombre d'un problème d'encodage, dès lors que l'on s'attèle au traitement textuel, on se retrouve face à un obstacle non négligeable: l'absence d'espaces entre les mots. Fort heureusement, nous ne sommes pas les seuls linguistes à passer par là, et les sentiers sont battus depuis quelques années déjà! La solution réside dans l'emploi d'un analyseur-étiqueteur morphosyntaxique. Il en existe plusieurs, et après de chaotiques pérégrinations internautiques entre liens morts et problèmes de téléchargements, nous avons trouvé notre perle rare: Kytea! ... Eh non, problème d'installation avec le makefile. Nous nous tournons donc vers MeCab! ... Même problème. Le choix s'offre à nous: passer le restant de nos jours à triturer les rouages d'un Unix émulé sous Windows pour trouver l'éventuel fichier manquant, ou passer par une autre méthode. Le flemmard a toujours r

#Article 7 : Finalisation du script

Lors de notre dernier billet, nous avons cherché une manière d’obtenir les encodages de toutes les pages et de convertir en UTF-8 celles qui ne l’étaient pas déjà. Nous avons vu en cours une manière plus simple et efficace que celle que nous avions trouvée : egrep -io "charset=\"?[^\",]+\"?" ./PAGES-ASPIREES/$numerotableau-$compteur.html | cut -f2 -d"=" | tr -d '("|\\|>)' | sed "s/'//g" | tr '[a-z]' '[A-Z]' L’expression régulière charset=\"?[^\",]+\"? permet de trouver l’encodage, puis nous nous débarrassons de « charset= » grâce au cut -f2 -d"=" , ainsi que des éventuels guillemets (simples et doubles) encadrant l’encodage et autre signes (barres obliques et balises) avec tr -d '("|\\|>)' | sed "s/'//g" | , et enfin nous passons le résultat en majuscules avec tr '[a-z]' '[A-Z]' .   Nous   avons ajouté à cette commande les inst

#Article 6 : Les encodages

Nous avons, lors de notre précédent billet, expliqué comment nous avions conçu un script Bash nous permettant de construire un tableau donnant, pour chaque URL que nous avions aspirée, son code retour HTML, son encodage ainsi que des liens vers la page web correspondante et son code source. Nous avons lors du dernier cours amélioré ce tableau. D’une part, lorsque le code retour n’est pas « 200 », nous avons décidé de laisser vides les colonnes suivantes, puisque cela signifie que la page n’est de toutes façons pas exploitable. Pour cela nous avons utilisé la structure conditionnelle suivante : if [[ $coderetour == 200 ]] then                encodage=$(curl -SIL -o tmp.txt -w %{content_type} $ligne |cut -f2 -d"="|tr '[a-z]' '[A-Z]' | tr -d '\r' | tr -d "\"");                curl -L -o "./PAGES-ASPIREES/$numerotableau-$compteur.html" "$ligne";                echo "<tr><td>$compteur <