Séance du 25/10/17

Le but de cette séance est de détecter l’encodage des données (Urls) —-> Il faut avoir que des sorties en utf-8!!

Tout d’abord, on a examiné la commande curl qui nous permet tout simplement de récupérer la page html d’un adresse (url).

Cattura di schermata (252)

Dans l’exemple ci-dessus, on n’a pas obtenu de résultat pour deux raisons: dans le premier cas, le site apple.com est un site sécurisé (https) et dans le deuxième cas il s’agit d’une page raccourci de l’adresse  http://www.tal.univ-paris3.fr/plurital/ .

En ce qui concerne les messages d’erreurs, on a pu découvrir l’existence du code retour que l’on obtient avec la commande echo $? —–> si la commande qu’on a tapé est correcte, la valeur de la variable $? est toujours 0. En revanche, s’il y a une erreur dans la commande, le terminal nous affichera un autre nombre.

Cattura di schermata (253)

Pour résoudre le problème généré par la commande curl, on a essayé une autre commande qui permet de suivre le chemin du raccourci jusqu’à la page finale —> curl -L

Ensuite, on a utilisé la commande curl – -write out « %{http_code} » http://www.apple.com qui nous renvoie le code retour http. Si tout se passe bien, le code retour est 200.

file -i fichier —-> donne l’encodage du fichier ou de la page web aspirée.

curl -sIL + url —–> permet de récupérer l’en-tête (avec encodage) et type de données.

Cattura di schermata (254)

Maintenant, nous allons voir comment extraire le texte brut d’une page html.

La commande lynx est un navigateur qui nous affiche toute la page web. Si on veut extraire uniquement le contenu textuel de la page web, on utilise lynx -dump.

Cattura di schermata (255)

Avec cette commande, on obtient aussi une indexation des liens à la fin de la page. Pour supprimer toute référence des liens, on utilise lynx -dump -nolist.

Cattura di schermata (256).png

Avant de lancer la commande lynx, il faut tout d’abord vérifier l’encodage de la page web (elle doit être encodée en utf-8).

Pour faire cela, on utilise la commande for fichier in $(ls PAGES-ASPIREES); do egrep -i « charset=[^>]+ » PAGES-ASPIREES/$fichier; done

egrep-i va chercher la ligne qui contient la chaine de caractères <charset> suivi d’un ou plusieurs caractères, d’où l’expression régulière [^>].

Voici une autre solution pour trouver l’encodage d’une page web:

Cattura di schermata (257)

Le but est d’extraire l’encodage qui se trouve à droite, ——> cut-d et on utilise le séparateur/délimiteur de colonne « = ».

Pour terminer, on va créer une variable $encodage qui contient comme valeur l’output de la commande précédente.

$encodage=$(curl……………….) ———> on va placer dans la variable $encodage la valeur de retour de la commande curl.

 

 

 

 

Laisser un commentaire