Accéder au contenu principal

Session 3 partie b

 Donc pour revenir à toute ces histoires d'URLs, la commande lynx nous permet de les récupérer tout comme le ferait la commande wget à l'exception que lynx nous permet d'obtenir une page Google dans un format texte.

La commande est donc la suivante:

lynx -dump "URL_de_la_page_google" > banlieues_google.txt

lynx -dump "https://www.google.com/search?q=french+kiss&rlz=1C5CHFA_enFR921FR921&oq=french+kiss&aqs=chrome.0.69i59j0j46j0l2j69i60l2j69i61.12972j1j7&sourceid=chrome&ie=UTF-8" > frenchkissfr_google


Et maintenant que nous en avons extrait, nous pouvons les garder dans un fichier urls, créer à notre première séance:

En tapant less frenchkissfr_google on visualise les résultats  :

On veut par la suite récupérer les URL pour les mettre dans un fichier txt. Nous avons recours ici à la fonction egrep. Grâce à cette expression régulière on pourra isoler uniquement les URL de nos fichiers.


récupérer des URL


counter=0; while [ $counter -lt 300 ]; do lynx -dump "https://www.google.com/search?q=french+kiss&rlz=1C5CHFA_enFR921FR921&ei=fZ6NX4q0J5Gkgwf1uK-YDg&start=200&sa=N&ved=2ahUKEwjK5oL96sDsAhUR0uAKHXXcC-M4ZBDy0wN6BAgGEDU&biw=1200&bih=707">> france_french_kiss.txt; counter=$(($counter + 100)); done


base) oscarme@MacBook-Pro-de-Oscar URLS % for lien in $(egrep "^ +[0-9]+\. https\://www\.google\.com/url\?q\=" france_french_kiss.txt | cut -d"=" -f2 | cut -d"&" -f1 | egrep -v google | egrep -v youtube); do echo "==$lien=="; done>> URL_france_frech_kiss

Pour obtenir les URL on a utilisé deux commandes qu’on  apprises lors du cours Corpus Linguistics. Première commande: 

counter=0; while [ $counter -lt 300 ]; do lynx -dump "https://www.google.com/search?q=french+kiss&rlz=1C5CHFA_enFR921FR921&ei=fZ6NX4q0J5Gkgwf1uK-YDg&start=200&sa=N&ved=2ahUKEwjK5oL96sDsAhUR0uAKHXXcC-M4ZBDy0wN6BAgGEDU&biw=1200&bih=707">> france_french_kiss.txt; counter=$(($counter + 100)); done


counter=0; while [ $counter -lt 300 ]; do lynx -dump "https://www.google.com/search?q=galocher&rlz=1C5CHFA_enFR921FR921&ei=paeNX4yQIom4a_2FitgN&start=100&sa=N&ved=2ahUKEwjM9tfa88DsAhUJ3BoKHf2CAtsQ8tMDegQICBAz&cshid=1603119269226407&biw=1200&bih=707">> france_galocher; counter=$(($counter + 100)); done


https://www.google.com/search?q=galocher&rlz=1C5CHFA_enFR921FR921&ei=1qeNX_L6A4WKasvasfgH&start=0&sa=N&ved=2ahUKEwjyvejx88DsAhUFhRoKHUttDH84ZBDy0wN6BAgGEDI&biw=1200&bih=707



Grâce à cette commande on peut récupérer  les 3 listes de  résultats de notre recherche ( sur google on a configuré le site pour avoir une liste de 100 résultats et on en a obtenu 3). Cependant cette commande prend tout le texte source.


pour trier un peu les informations reçues on utilise une deuxième commande 


for lien in $(egrep "^ +[0-9]+\. https\://www\.google\.com/url\?q\=" france_french_kiss.txt | cut -d"=" -f2 | cut -d"&" -f1 | egrep -v google | egrep -v youtube); do echo "==$lien=="; done>> URL_france_frech_kiss


Si on décortique un peu cette commande (ce que l'on y comprend du moins, pour l’instant) la fonction egrep permet de rechercher et imprimer les lignes qui correspondent aux patron donnés.

Elle admet des expressions régulières. Justement la première ligne en comporte quelques unes. ^=chercher tout saut ^+[0-9]

Il nous aurait été préféré de pouvoir décortiquer et expliquer plus en détail cette commande mais les connaissances en regex restent encore très basique (toujours pour l’instant !), mais ca va changer très vite, puique nous avons la chance d'avancer dans ce thème dans plusieurs cours notamment celui de langages réguliers. 


On obtient la liste des URL en format .txt. On a tout de même constaté que certaines URL se répètent. Pour l’instant nous ne disposons pas de solution à ce problème. Nous y reviendrons plus tard.



Pour continuer avec l’obtention des URLs nous allons essayer avec une autre commande bash. Nous l’avons travaillé dans le cours de corpus linguistics (petit clon d'oeil et merci à M. Daube). La nouveauté de cette commande c’est qu’elle nous permet de récupérer tous les résultats sur google grâce à l’option “counter”. Nous ne devons plus faire le traitement de résultats page par page. Sympa !


La session suivante sera d'autant plus intéressante que nous aurons entre nos mains de bons début de d'extraction accompagné de traduction, par langue!


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

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

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