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).
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.
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.
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.
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.
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:
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.