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

Session 4: un french, un beso, french kissing...

Un beso con lengua, Frencher! Dans cette partie, il sera montré quelques résultats par pair de langue Nous allons commencer par présenter nos recherches en espagnol, et en français. Petite remarque avant de continuer plus loin : en espagnol, le terme "French Kiss" se traduit en espagnol par "Beso con lengua". Il sera donc ici détaillé la façon dont on a procédé pour "Beso con lengua": La première commande est pour trouver les URLs en espagnol du mot "beso con lengua" ou son autre version aussi trouvé : "beso francés". Pour le cas de "beso con lengua" Commande :  counter=0; while [ $counter -le 300 ]; do lynx -dump "https://www.google.com/search?q=suburbs&client=ubuntu&channel=fs&biw=1494&bih=657&sxsrf=ALeKk011piWSj9r1StcMMmaC2Fwkb8FqNg:1603092362766&ei=ij-NX7-dLquJjLsPzLqSsAw&start=$counter&sa=N&ved=2ahUKEwi_isy2kMDsAhWrBGMBHUydBMY4FBDy0wN6BAgWEDM">> mes_liens_bruts.txt; coun

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.  Une vérification manuelle du charset a été effectuée sur cert

Concaténation et nettoyage du corpus.

Concaténation et nettoyage du corpus.    Cette partie de concaténation et nettoyage de corpus est clé car elle va alléger notre corpus pour pouvoir l’analyser sur Itrameur.    Pour ceux qui travaillent sur Windows, un programme pour concaténer est disponible sur icampus.  Il suffit de télécharger  le Fichier + le programme concat et de les placer dans le même dossier.  Double click  pour le lancer et cela concatène les fichiers existants dans ce répertoire.     Si ce n’est pas Windows, comment faire? Sachant qu’il faut introduire une valise au début et à la fin  de chaque fichier DUMP txt et CONTEXTES txt, nous avons appris en cours cette commande.  for file in `ls utf8_1* | tr ' ' '\n' | less`; do echo "<partie=$file>" >> CORPUS_FR.txt ; cat $file >> CORPUS_FR.txt ; echo "</partie>" >> CORPUS_FR.txt ; done En utilisant cette commande la concentration se fait facilement. Pensez à vous placer dans le  répertoire DUMP avan