Overblog All blogs Top blogs Jobs, Education & Studies
Edit post Follow this blog Administration + Create my blog
MENU
L'Américanisation

Master 1 Plurital 2012

Advertising

Séance du 14 de novembre:

1ère partie:

Nous avons commencé le cours en apprenant une nouvelle commande d'unix :

$locale

Elle s'utilise pour savoir la configuration locale :

Advertising
Séance du 14 de novembre:

On voit bien là que mon ordinateur suit les usages de la langue française et utilise UTF-8 pour l'encodage. Qu'en est-il, quand même, des pages que nous aspirons ? Comment va-t-on faire pour qu'elles soient aussi en UTF-8 ?

La première question qu'on s'est posée est s'il suffit d'annoncer dans la balise "metacharset" que le fichier HTML sera encodé en utf-8. On a bien vu que c'est non. On peut l'annoncer et le désirer, mais écrire dans notre script cette phrase :

echo "<meta charset="utf-8"> $tableau ; 

ne suffit pas. Cela est dû au fait qu'à l'intérieur de la balise "metacharset" on met seulement des descriptions. Ceci dit, dans ce cours, nous avons commencé à apprendre des commandes et des fonctions pour répérer les encodages, afin de pouvoir découvrir ensuite à la prochaine séance --au cas où on ne le fasse pas avant en cours de GIM-- comment faire pour convertir un texte en n'importe quelle encodage en un texte codé en utf-8. Il s'agira probablement de l'utilisation de la commande iconv, telle qu'elle est annoncée dans la page du cours.

La commande unix pour connaître l'encodage d'un fichier est $file avec l'option -i dans la plupart des versions ou -I pour mac. Avec cette commande, on verra, par exemple, l'encodage de quelques-unes de mes pages aspirées :

Séance du 14 de novembre:
Advertising

Mes fichiers 1.html et 2.html, qui proviennent du même journal, sont écrits dans un encodage inconnu. Il y aura donc du travail à faire. En revanche, avec les fichiers  21.html et 51.html nous avons eu plus de chance puisqu'ils sont encodés en utf-8, il ne faudra pas les convertir.

On a répéré que dans la description donnée par cette commande la seule chose qui nous intéresse est ce qui se trouve après “charset=”. Comment va-t-on faire pour extraire exclusivement cette information pertinente ?

En utilisant une autre nouvelle commande: $cut et ses options -d pour le délimiteur et -f pour indiquer le champ (field) que nous voulons. Dans notre cas, le délimiteur est le signe égal "=". On utilisera aussi un tube pour enchainer les deux actions. La commande complète sera donc :

$file -I nomdufichier | cut -d= -f2

[et pour pouvoir accéder à ces informations plus tard, il est possible de mettre le résultat dans une variable : encodage =$(file -l nomdufichier | cut -d= -f2) ]

 

Voilà :

Séance du 14 de novembre:

2ème partie:

Notre prochain objectif est d'extraire les contenus textuels d'ne page web. Ainsi, on utilisera la commande "lynx". Il s'agit, à l'origine, d'un navigateur web utilisable depuis le terminal. Il nous intéresse, etant donné qu'il a des options qui vont permettre l'extraction visée.

Par exemple, pour acceder à une page web visée, on écrit:

lynx http://escritsomitologiapersonal.blogspot.fr/

le résultat est le suivant :

Séance du 14 de novembre:
Advertising

On ajoutera l'option “-dump” pour extraire le contenu textuel et l'option “-nolist” pour récupérer le texte sans tenir compte des liens existants. Pour garder ces informations dans un fichier, on ajoute “> nomfichier”

Séance du 14 de novembre:

On peut déjà voir ici que le code n'est pas respecté. En catalan, les accents ne sont pas respectés. En grec, présent dans le texte d'origine, il n'apparait presque rien. Il n'y a rien en alphabet grec. On voit seulement quelques transliterations qui sont incomplètes aussi.

Si on lance la commande “file -I ” avec le nouveau fichier créé, on va voir que son encodage n'est pas en unicode.

Séance du 14 de novembre:

En revanche, la page originale était en utf-8 :

Séance du 14 de novembre:

Alors, on va lancer la commande avec une autre option encore, “display_charset=utf-8”, pour garder l'encodage original :

Séance du 14 de novembre:

Quand on fait file -I, on rencontre quand-même un problème :

Séance du 14 de novembre:

Le charset apparaît comme "unknown".

En utilisant la commande “cat”, on verra qu'il y a eu, de toute façon, une nette amélioration de l'encodage. Les accents en catalan sont déjà affichés et on retrouve les mots grecs en alphabet grec (cf. Δρόμοι au bout de l'image):

Séance du 14 de novembre:

C'est déjà mieux, mais il va falloir chercher encore une amélioration plus satisfaisante.

 

Quelques reflexions ultérieures:

Ayant observé tout cela, on va essayer d'ajouter la commande "lynx" dans le dernier script, celui qu'on utilisait pour aspirer les pages. On va l'essayer sans l'option “display_charset”, en attendant les séances sur l'encodage et le décodage de GIM.

Voilà le script :

Séance du 14 de novembre:

Avec cela, on a déjà les textes nettoyés, mais avec beaucoup de problèmes d'encodage, surtout pour le grec.

Voilà le début de la page html sur firefox :

 

Séance du 14 de novembre:
Share this post
Repost0
To be informed of the latest articles, subscribe:
Comment on this post
S
Votre billet une très belle présentation de cette phase de travail : ce qu'il est possible de faire et les difficultés encore à résoudre...
Reply