Accéder au contenu principal

Petit moment d'exercices pratiques

 Dans cette partie (qui sera plutôt courte), on cherche à s'exercer sur l'utilisation de la commande curl.

La question se pose donc sur la fiabilité de nos URLs. Est ce que la récupération d'un URL s'est bien passé ?
On se lance donc avec l'url suivant :

yagmur@LAPTOP-7LSSEII1:~/PROJET-MOT-SUR-LE-WEB$ curl http://www.lemonde.fr -w %{http_code}

301

HTTP STATUS CODES:

1xx informational response - the resquest was received, continuing process

2xx successful - the request was successfully received, understood and accepted

3xx redirection - further action needs to be taken in order to complete the request

4xx client error - the request contains bad syntax or cannot be fulfilled

5xx server error - the server failed to fulfil an apparently valid request

Pour mieux vérifier, on procède donc de la façon suivante :

retourcurl=$(curl http://www.lemonde.fr -w %{http_code})

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

 0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

Pas de grand résultat, ça ne marche pas, surement dû à la qualité de l'URL. On va essayer d'en trouver un plus sympa. On recommence donc encore :

 retourcurl=$(curl https://www.lemonde.fr -w %{http_code})

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  296k    0  296k    0     0  1265k      0 --:--:-- --:--:-- --:--:-- 1265k

L'url est un lien sécurisée.

Pour de meilleur résultat, on peut désormais utiliser la commande suivante :

echo $retourcurl

....</script> </body> </html> 200

Petit problème... il y a beaucoup trop de texte et il est donc difficile de trouver cette information à la fin.

On peut donc nettoyer de cette façon là :

retourcurl=$(curl -o toto.txt https://www.lemonde.fr -w %{http_code})

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100  296k    0  296k    0     0  1519k      0 --:--:-- --:--:-- --:--:-- 1519k

yagmur@LAPTOP-7LSSEII1:~/PROJET-MOT-SUR-LE-WEB$ echo $retourcurl

200

Cette fois-ci, avec ce traitement, la récupération de l'URL se passe bien ! ouf! On doit intégrer cette vérification sur les autres URLs et donc dans notre script.

Deuxième problème relevé : L'encodage des pages webs qu'on a récupéré.

Nous voulons que l'encodage soit en UTF-8. Pour vérifier cela :

yagmur@LAPTOP-7LSSEII1:~/PROJET-MOT-SUR-LE-WEB $ curl -I https://www.lemonde.fr

HTTP/2 200

content-type: text/html; charset=UTF-8

x-protected-by: Sqreen

set-cookie: critical-home-free-desktop=8a3a8b2ed6e2bb76a37f5b3f3ae30c30; expires=Tue, 05-Jan-2021 13:00:44 GMT; Max-Age=2592000; path=/; secure

x-frame-options: SAMEORIGIN

x-xss-protection: 1; mode=block

via: 1.1 google, 1.1 varnish

cache-control: private, max-age=0

accept-ranges: bytes

date: Sun, 06 Dec 2020 13:00:44 GMT

x-served-by: cache-cdg20748-CDG

x-cache: MISS

x-cache-hits: 0

x-timer: S1607259645.583316,VS0,VE65

vary: Accept-Encoding

strict-transport-security: max-age=31557600

Génial !!!
En revanche, si la page n'est pas en UTF-8, on peut traiter cette page autrement. Il faut pour cela, avoir la possibilité de récupérer les informations concernant l'encodage.

curl -I https://www.lemonde.fr | egrep "charset"

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

content-type: text/html; charset=UTF-8

On accompagne tout cela, d'un petit coup de nettoyage curl :

curl -I https://www.lemonde.fr | egrep "charset" | cut -f2 -d=

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

UTF-8


Pour utiliser ce code plus facilement, on peur le stocker dans une variable!


encodageURL=$(curl -I https://www.lemonde.fr | egrep "charset" | cut -f2 -d=)                   

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                                                                                                         

                                 Dload  Upload   Total   Spent    Left  Speed                                                                                                                           

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0     

echo $encodageURL  nous donne donc un retour.


UTF-8

On va chercher à générer un tableau par la démarche qui va suivre :

On exécute donc le script vu ensemble en cours. On a donc comme résultat :

On arencontré quelques soucis au sujet du motif. Nous ne parvenions pas à faire la séparation des urls entre les pair de langues sans faire deux tableaux séparément, et ce, même après avoir essayer le "pipe" (|) . On a fini par utiliser ceci : yagmur@LAPTOP-7LSSEII1:~/PROJET-MOT-SUR-LE-WEB$ bash ./PROGRAMMES/scritp_2020-11-18.sh ./URLS/ ./TABLEAUX/tableau.html "french kiss"

Commentaires

Posts les plus consultés de ce blog

Session 1

  Projet Encadré TAL La vie Multilingue des élèves de TAL en TAL Préambule La première séance du cours Projet encadré fut l'occasion de comprendre l'enjeu réel de ce cours, ses attentes, ses ambitions ainsi que permettre à tous de les clarifier certains rôle nécessaire au TAL et d'en rendre les reines. Ainsi, il nous a été présenté, par nos chers professeurs, à savoir, Serge Fleury et Jean-Michel Daube (j'adore ce duo personnellement et je ne suis pas la seule de la promo à penser ainsi haha), le thème du projet :  "La vie multilingue des mots sur le web" . Autrement dit, ce thème de projet implique la recherche complète d'un mot / terme prédéfinit, au sein d'un groupe de travail. La "recherche complète" dont je viens de parler  prend en compte différentes étapes afin de mener à bien (on l'espère) le dit projet. Le but étant de comprendre et étudier le fonctionnement d'un mot dans différentes langues, cela signifie qu'il nous faud

Exclusivité : le cas du japonais

Pour le cas du japonais, rien n'a été de tout repos malheureusement. Beaucoup d'essais, énormément de raté, mais quelques solutions pour pallier aux différents problèmes !  Pour ce qui est de la récolte des urls japonais pour le mot French Kiss (フレンチキス) , a été appliqué la fameuse commande déjà utilisé pour la langue française, anglaise, espagnol et turc. Les mêmes commandes déjà énoncé dans ce blog lui ont été appliqué: Après tous les traitement, on se rend compte qu'il y a toujours beaucoup de "saletés", de bruits sur les urls. On commence par les trier à la main mais, il y a trop de contenu (plus de 300) alors, pour éviter de perdre du temps avec les problèmes d'apparitions des "binary files" etc, on relance une nouvelle récolte d'urls en étant encore plus précis. Le fichier urls de japonais se créer. On lance la commande du terminal pour avoir un tableau. Problème : message d'erreur: ...et aucun tableau à l'horizon. On essaye d'au

Script Fonctionnel

  C’est avec grande joie que nous postons cette entrée, en effet on arrive à avoir un script fonctionnel qui répond à la plupart des soucis qu’on a trouvés tout au long de notre projet.  On dit de la joie,  parce que pour nous trois, n’ayant pas de fortes bases informatiques, arriver à  comprendre comment ce script fonctionne et pouvoir y ajouter ou supprimer des choses a demandé des heures et des heures de réflexion, on se réjouit donc d’arriver à ce stade du projet.   Si jamais les personnes des promotions à venir lisent cette entrée, il est important de donner un message  qui rassure. Ce Master est formidable, on apprend énormément de choses.  Cependant on est vite  confrontés à beaucoup de nouvelles informations. Vous allez vivre une montagne russe d’émotions :  de l' incompréhension au désespoir, la tristesse puis la fierté. Ne désespérez pas s’il y a des moments de  détresse, avec de la détermination et en y consacrant du temps vous allez parvenir à comprendre et à faire  tou