Le copier-coller appartient au passé ; la tendance actuelle est à l'extraction de données.

Nos étudiants en MBA spécialisés en journalisme de données ont réalisé une série de tutoriels pour leur projet final du cours Low Code : Transformer des données en articles d'actualité sans programmation, dispensé par le professeur Adriano Belisário. Ce mois-ci, vous pouvez découvrir certains de leurs travaux et… Découvrez des aventures passionnantes grâce aux tutoriels qu'ils ont créés. Aujourd'hui, vous pouvez consulter le tutoriel réalisé par Carolina Timm.

Extraction de données web : un tutoriel présentant le début, le milieu et la fin d’un exercice d’extraction de données + des conseils pratiques

Salut tout le monde. Marre de passer des heures à copier-coller des informations qui pourraient clairement se trouver dans une feuille de calcul téléchargeable au lieu d'être éparpillées sur un site web ?
Vous aimeriez un moyen simple de rassembler toutes les informations dont vous avez besoin en une seule fois ? Que diriez-vous d’un tableau contenant des données structurées de votre choix, extraites à la fin du processus de collecte ?
Alors, pas de panique ! Ce que vous cherchez s’appelle le web scraping, une méthode de collecte automatisée d’informations. Nous allons ici découvrir un outil en particulier : Grattoir Web


Pourquoi lire ce tutoriel ? 

À la fin de cette lecture, vous saurez comment installer et utiliser le Grattoir Web créer quelque chose appelé Plan du site contenant Sélecteurs capable de naviguer de manière autonome et d'extraire des informations selon vos besoins. Pour nous guider dans ce tutoriel, nous allons effectuer une extraction de données de Rotten Tomatoes (un site de critiques de films et de séries), plus précisément du contenu intitulé Les 200 meilleurs films LGBTQ+ de tous les temps


Contextualisation du site web choisi

Les données pertinentes pour ce tutoriel se trouvent dans ce... url.

Notez que le classement est réparti sur quatre pages de résultats, dans cet ordre de présentation : 200-151 ; 150-101 ; 100-51 ; 50-1. Sur la page d’accueil, vous trouverez des informations de base : affiche du film, titre, année de sortie, note (le classique « Tomatometer » du site), s’il existe un consensus critique, synopsis, distribution et position dans le classement. 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - classement de la page d'accueil rotten tomatos.png

Il est possible de localiser et de lire le contenu du site web, mais les éléments ne sont pas organisés de manière structurée, ce qui ne permet pas d'extraire, de manipuler et d'analyser facilement les données disponibles. Sans outil d'extraction de données, il faudrait organiser les éléments manuellement, en répétant le processus de sélection de chaque information pour chaque film 200 fois (littéralement). Autrement dit, ce serait une tâche répétitive et fastidieuse. C'est pourquoi, à partir de maintenant, nous utiliserons un outil appelé… Grattoir Web

Découverte du Web Scraper

webscraper.io C'est une extension gratuite que vous pouvez installer dans votre navigateur en quelques minutes seulement. Avant l'installation, voici à quoi elle ressemble : 

C:\Utilisateurs\Windows 10\Desktopprint - site web scraper add to chrome.png

Cliquez Ajouter Ajoutez l'extension à votre navigateur et autorisez l'accès. Pour vérifier si l'installation a réussi, rendez-vous sur Les extensions et vérifiez si l'icône et le nom de Grattoir Web Ils sont déjà là-bas. 


Pas à pas

Commencez par installer Web Scraper dans votre navigateur.
Accès Tomates pourries

N'importe où sur la page, cliquez avec le bouton droit et sélectionnez Inspecter. 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Data Journalism\Cours\Low Code - Données et sujets\Web Scraper\prints\print - inspecter par clic droit.png

Si cette section s'ouvre sur le côté de votre navigateur, je vous recommande de la déplacer en bas. Pour ce faire, cliquez simplement sur les trois points situés en haut à droite et sélectionnez l'icône correspondant à ce mode d'affichage.

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Data Journalism\Cours\Low Code - Données et sujets\Web Scraper\prints\print - clic droit vers le bas.png

Ensuite, repérez l'onglet. Grattoir Web à la fin de la première ligne.
Lorsque vous cliquez dessus, l'extension affiche trois éléments de contenu :
>Sitemaps, où les plans de site créés ou importés dans votre navigateur sont « stockés » (à ce moment précis, juste après l'installation, cet onglet sera vide) ;
>Plan du site, l'espace « actuel » du plan du site ; 
>Créer un nouveau plan de sitequi offre deux options : 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Data Journalism\Cours\Low Code - Données et sujets\Web Scraper\prints\print - créer un nouveau sitemap.png

Créer un plan du site C’est cette option qui nous intéresse pour le moment. Après avoir cliqué dessus, vous devrez remplir deux champs et terminer en cliquant sur… Créer un plan du site.
>Nom du plan du siteLe nom qui identifiera votre Sitemap. Il ne doit contenir que des lettres minuscules, sans accents ni espaces. Ici, il s'appelle filmes_lgbtq
>URL de démarrageCopiez et collez l'URL de la page : https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/ 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - sitemap name start url.png

Dès que vous cliquez sur Créer un plan du siteVous serez ensuite redirigé vers l'onglet Sitemap films_lgbtq, qui vous présentera ensuite le champ de sélection. 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - webscraper add new selector.pngCliquez sur Ajouter un nouveau sélecteurLe premier sélecteur que nous allons créer rassemblera toutes les informations relatives à chaque film : affiche, titre, année de sortie, note du site web, synopsis concis, distribution et position dans le classement. Nous l’appellerons ici « film ». TypePlusieurs options vous seront proposées : 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - élément de film du sélecteur webscraper.png


Notre sélecteur est ÉlémentCi-dessous, vérifiez le carré. MultipleParce que nous voulons que le sélecteur continue à parcourir les autres films et à sélectionner le modèle d'information que nous lui indiquons : 

D:Web Scraperprintsprint - webscraper selector film.png

Pour sélectionner, cliquez sur SélectionnerEnsuite, déplacez simplement votre curseur sur la page jusqu'à ce que tous les éléments du premier film soient sélectionnés (affiche, titre, année, etc.). Puis, faites défiler la page vers le bas et effectuez la même sélection pour le film suivant. Voilà ! À ce stade, le robot d'extraction de données a compris votre action et sélectionnera les films suivants sur cette page.

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - webscraper film selector multiple.png


Confirmez l'action en cliquant sur Sélection terminéeVérifiez si Multiple C'est confirmé et enregistré. Nous avons déjà notre premier sélecteur !
Désormais, nous allons créer des sélecteurs au sein de ce sélecteur principal pour chaque information qui nous intéresse. 

Cependant, avant cela, quelques mots : si vous cliquez sur Aperçu des données En consultant les informations, vous remarquerez que seuls les films de la première page ont été sélectionnés. Attendez, dois-je donc créer un sitemap différent pour chacune des quatre pages, puis tout combiner dans un tableur après l'exportation ? Non, la bonne nouvelle est que vous n'avez pas besoin de faire tout ce travail. Il suffit de modifier l'URL.

Parcourez les pages restantes du classement, une par une, et observez… URL de chacun. Avez-vous remarqué que le changement se situe au niveau du chiffre final ?
https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/2/
https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/3/
https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/4/

Em Plan du site films_lgbtqVous aurez les options suivantes :

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - sitemap tab.png

Choix Modifier les métadonnées.
Em URL de démarrageChangeons-le en https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4Par conséquent, les quatre pages seront grattées. 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Data Journalism\Cours\Low Code - Données et sujets\Carolina Timm - Tutoriel Low Code\prints\print - enregistrer les métadonnées du plan du site.pngAprès avoir enregistré cette modification, cliquez à nouveau. Plan du site films_lgbtq et retourner à SélecteursAu lieu d'ajouter un nouveau sélecteur « principal », créons maintenant des sélecteurs à l'intérieur du sélecteur existant. Pour ce faire, cliquez sur « film » : 

D:Web Scraperprintsprint - ajouter un sélecteur à l'intérieur du sélecteur movies.png

Notez que cela est maintenant indiqué à côté de _racine En haut. Voilà qui est mieux. Ajouter un nouveau sélecteur. Commençons par choisir le titre ? Type Maintenant c'est Texte et vous n'avez plus besoin de sélectionner l'option MultipleAu final, il n'y a qu'un seul titre dans notre sélecteur principal « Film ». À l'aide du curseur, sélectionnez uniquement le titre du film et répétez cette opération avec le film en dessous. 

D:Web Scraperprintsprint - titre du sélecteur webscraper.png

WebScraper a déjà compris ce que vous souhaitez sélectionner comme « titre ». Pour confirmer, vous pouvez consulter à nouveau l’aperçu des données.

D:Web Scraperprintsprint - aperçu des données du scraper web.png

Enregistrez le sélecteur ☺

Grâce à cette tactique, nous continuerons à créer des sélecteurs au sein du sélecteur principal « film » :  

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Data Journalism\Classes\Low Code - Données et sujets\Web Scraper\prints\print - sélecteurs dans le sélecteur principal film.png

Un sélecteur pour chaque information : titre, année, affiche, classement, distribution, synopsis et note. Tous seront… Type de texteHmm, presque. La seule exception est l'affiche, qui sera... Type d'image

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - sélecteur d'image.png

Tous les sélecteurs ont-ils déjà été créés ? Super !

Em Plan du site films_lgbtqMaintenant, examinez cette option. GratterOui, c'est ce bouton qui lance automatiquement l'extraction des données. Inutile de modifier les paramètres de vitesse : un simple clic suffit pour démarrer le processus. Démarrer le scrapingL'extension ouvrira une nouvelle fenêtre et collectera les données des sélecteurs créés. Ne fermez pas la fenêtre comportant l'icône Web Scraper.Laisse faire les choses ☺ 

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Web Scraper\prints\print - webscraper après scraping.png


Après la notification indiquant que le scraping est terminé, dans l'onglet Plan du site films_lgbtVous pouvez extraire les informations au format CSV. Exporter les données au format CSV
Après l'exportation, voici comment votre feuille de travail

C:\Utilisateurs\utilisateur\Bureau\MBA IDP Journalisme de données\Cours\Low Code - Données et sujets\Carolina Timm - Tutoriel Low Code\prints\Figure20.png

De plus, vous pouvez également exporter les vôtres. Plan du site, qui sera généré comme suit : 

{“_id”:”filmes_lgbtq”,”startUrl”:[“https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4]”],”selectors”:[{“id”:”filme”,”type”:”SelectorElement”,”parentSelectors”:[“_root”],”selector”:”div.countdown-item:nth-of-type(n+2)”,”multiple”:true,”delay”:0},{“id”:”titulo”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”h2 a”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”ano”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”span.subtle”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”poster”,”type”:”SelectorImage”,”parentSelectors”:[“filme”],”selector”:”img”,”multiple”:false,”delay”:0},{“id”:”ranking”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”div.countdown-index”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”elenco”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”div.cast”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”sinopse”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”div.synopsis”,”multiple”:false,”regex”:””,”delay”:0},{“id”:”avaliação”,”type”:”SelectorText”,”parentSelectors”:[“filme”],”selector”:”span.tMeterScore”,”multiple”:false,”regex”:””,”delay”:0}]}

Pour votre information, voici le contenu que vous collez dans l'option. Plan du site d'importation chaque fois que vous souhaitez consulter ceci Plan du site dans un autre navigateur ou partagez-le afin que d'autres utilisateurs puissent y accéder. 

C'est notre ligne d'arrivée. Bonnes pratiques et longue vie à Web Scraper !

https://media.tenor.com/images/ff4d08553f058aadb6e49b93e120f522/tenor.gif