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

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

Souci d'encodage MacOs - Lynx

Soucis encodage MacOs - Lynx  Nous faisons cette entrée pour laisser évidence d’un souci d'encodage qu’on a rencontré concernant la  commande lynx sur MacOs. En effet, nous avons remarqué dans certaines URLs aspirées qu' il y avait des rendus bizarres. Notamment pour les caractères diacrités et la c cédille (ç). Ci-dessous quelques  captures d'écran pour illustrer cette situation.      Au début, nous croyions à un souci d’encodage des URL. Nous avons donc bien ajouté dans notre script les deux boucles pour convertir les encodages reconnus avec la commande curl et detect encoding sans pour autant avoir une amélioration dans les rendus de nos pages aspirées.  Normalement, en lançant ce script, si le site n’est pas encodé en UTF-8 une erreur devrait s'afficher dans  le tableau qu’il génère au niveau de la colonne 1, mais aucune erreur ne s’affiche, au contraire il indique  que le site est bien encodé en  UTF-8....

Itrameur - Analyse textométrique.

  Itrameur Dans cette entrée nous partagerons nos commentaires sur la prise en main de l’outil Itrameur. Nous avons intégré le corpus et vérifié que la segmentation était bien définie par les balises du corpus. les  rectangles ne se croisent pas et toutes les parties semblent y être.  Après avoir importé le corpus dans le logiciel, nous nous sommes rendus compte que l’analyse était faite mot par mot et que dans notre cas (french kiss) on avait deux mots, voire trois en espagnol. Que  faire ? La solution a été de remplacer les occurrences des mots french kiss, French Kiss, “French Kiss” “french kiss” en un seul mot : french_kiss . Même traitement pour l’espagnol et le turc    beso_con_lengua , fransız_öpücüğü. cela  a bien fonctionné.  Dans un premier temps on s’est intéressés à l’indice de fréquence  du mot dans notre corpus. On  apprend qu’il y a 255 occurrences.  Ensuite on s’est intéressé aux cooccurrences du mot. Ce tableau nous...