Nos étudiants du MBA en Data Journalism ont produit une série de tutoriels comme travail final dans la discipline Low Code : Transformer les données en lignes directrices sans programmation, enseigné par le professeur Adriano Belisário. Ce mois-ci, vous pourrez découvrir certains de leurs travaux et vous amuser avec les tutoriels qu'ils ont créés. Aujourd'hui, vous pouvez consulter le tutoriel réalisé par Carolina Timm.
Web Scraper : un tutoriel avec le début, le milieu et la fin d'un exercice de scraping + conseils pratiques
Salut les gars. Fatigué de passer des heures à copier et coller des informations qui pourraient clairement se trouver dans un tableau prêt à être téléchargé et non publiées sur un site Web ?
Souhaitez-vous disposer d’un moyen simple de collecter toutes les informations dont vous avez besoin en même temps ? Que diriez-vous d'un tableau avec les données structurées de votre choix extraites à la fin de la collection ?
Eh bien, rassurez-vous, ce que vous recherchez s’appelle le data scraping, une méthode de collecte d’informations de manière automatisée. Ici, nous découvrirons un outil en particulier : Web Scraper .
Pourquoi lire ce tutoriel ?
À la fin de la lecture, vous saurez comment installer et utiliser Web Scraper pour créer quelque chose appelé Sitemap contenant des sélecteurs capables de naviguer de manière autonome et d'extraire les informations comme vous le déterminez. Pour nous guider dans ce tutoriel, nous gratterons Rotten Tomatoes (un site de critiques de films et de séries), plus précisément un contenu intitulé 200 meilleurs films LGBTQ+ de tous les temps .
Contextualiser le site web choisi
Les données qui intéressent ce tutoriel se trouvent à cette url .
A noter 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. La page d'accueil contient des informations de base : affiche du film, titre, année de sortie, classement (le « tomatomètre » classique du site), s'il y a un consensus critique, synopsis, casting et position dans le classement.
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 permettant une extraction, une manipulation et une analyse faciles des données qui y sont disponibles. Sans grattoir, il faudrait organiser les éléments manuellement, en répétant le processus de sélection de chaque information de chaque film 200 fois (littéralement). En d’autres termes, ce serait une tâche répétitive et prendrait du temps. Donc, à partir de là, nous allons de pair avec un outil appelé Web Scraper .
Apprendre à connaître Web Scraper
webscraper.io est une extension gratuite que vous pouvez installer sur votre navigateur en quelques minutes. A première vue, avant installation, voici à quoi cela ressemble :
Cliquez simplement sur Ajouter l’extension à votre navigateur et autorisez l’autorisation d’accès. Pour vérifier si l'installation a été efficace, accédez à Extensions icône et le nom de Web Scraper y apparaissent déjà.
Pas à pas
Tout d’abord, installez Web Scraper sur votre navigateur.
Accéder aux tomates pourries
À tout moment de la page, cliquez avec le bouton droit et cliquez sur Inspecter.
Si la section s'ouvre sur le côté de votre navigateur, je vous recommande de la déplacer vers le bas. Pour cela, il suffit de cliquer sur les trois points dans le coin droit et de choisir l'icône qui illustre cette façon de visualiser :
Ensuite, localisez l’ Web Scraper à la fin de la première ligne.
Lorsque vous cliquez dessus, l'extension affiche trois contenus :
> Sitemaps , où sont « enregistrés » les sitemaps créés ou importés dans votre navigateur (à ce moment, juste après l'installation, cet onglet sera vide) ;
> Plan du site , espace Plan du site « actuel » ;
> Créez un nouveau plan du site , qui propose deux options :
Créer un plan du site est l'option qui nous intéresse en ce moment. Après avoir cliqué dessus, vous devez remplir deux champs et terminer en cliquant sur Créer un plan du site .
> Nom du sitemap : le nom qui identifiera votre sitemap p. Il doit contenir uniquement des lettres minuscules, sans accents et sans espaces. Ici, ça s'appelle Filmes_lgbtq
> Start URL : copiez et collez l'URL de la page : https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/
Dès que vous cliquerez sur Créer un plan du site , vous accéderez à l'onglet Plan du site Filmes_lgbtq, qui vous présente déjà le champ des sélecteurs.
Allez Cliquez sur Ajouter un nouveau sélecteur . Le premier sélecteur que nous allons créer regroupera toutes les informations qui accompagnent chacun des films : affiche du film, titre, année de sortie, note du site, synopsis, casting et position dans le classement. Ici, cela s'appellera un film. Dans Type , vous serez confronté à plusieurs options :
Notre sélecteur est Element . case Multiple , car nous voulons que le sélecteur continue à parcourir les autres films et à sélectionner le modèle d'informations que nous lui avons indiqué :
Pour sélectionner, cliquez sur Sélectionner . Il suffit ensuite de déplacer le curseur sur la page jusqu'à ce que tous les éléments du premier film soient sélectionnés (affiche, titre, année, etc.). Ensuite, faites défiler la page et faites la même sélection dans le film ci-dessous. D'accord, à ce stade, Web Scraper a déjà compris votre idée et sélectionnera les suivantes sur cette page.
Confirmez l'action en cliquant sur Terminé en sélectionnant . Vérifiez si Multiple est confirmé et enregistrez. Nous avons déjà notre premier sélecteur \o/
Désormais, nous allons créer des sélecteurs au sein de ce sélecteur principal pour chacune des informations qui nous intéressent.
Mais avant cela, parenthèses : si vous cliquez sur Aperçu des données et vérifiez les informations, vous remarquerez que seuls les films de la première page ont été sélectionnés. Wow, je dois donc créer un plan du site différent pour chacune des quatre pages et tout rassembler dans un éditeur de feuille de calcul après l'exportation ? Non, la bonne nouvelle est que vous n’avez pas besoin de tout ce travail. Changez simplement l'URL .
Cliquez sur les autres pages du classement, une à une, et notez l' URL de chacune. Avez-vous remarqué comment le numéro à la fin change ?
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/
Dans Sitemap Filmes_lgbtq , vous aurez ces alternatives :
Choisissez Modifier les métadonnées .
Dans l'URL de démarrage , nous la remplacerons par https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4 ] De cette façon, les quatre pages seront supprimées.
Après avoir enregistré cette modification, cliquez à nouveau sur Sitemap Filmes_lgbtq et revenez aux Sélecteurs . Désormais, au lieu d'ajouter un nouveau sélecteur « principal », nous allons créer des sélecteurs au sein du sélecteur déjà créé. Pour cela, cliquez sur film :
Notez qu'il est désormais indiqué à côté de _root en haut. Maintenant, ajoutez un nouveau sélecteur. On commence par sélectionner le titre ? Le Type est désormais Texte et vous n'avez plus besoin de sélectionner l' Multiple , après tout, il n'y a qu'un seul titre dans notre sélecteur principal « film ». Avec le curseur, sélectionnez uniquement les informations sur le titre du film et répétez cette même sélection avec le film ci-dessous.
WebScraper comprend déjà ce que vous souhaitez sélectionner comme « titre ». Pour confirmer, vous pouvez à nouveau consulter l'Aperçu des Données.
Enregistrez le sélecteur ☺
Avec cette tactique, nous continuerons à créer des sélecteurs au sein du sélecteur principal « film » :
Un sélecteur pour chaque information : titre, année, affiche, classement, casting, synopsis et évaluation. Seront-ils tous Type Text ? Hum, presque. La seule exception est l'affiche, qui sera Type Image .
Tous les sélecteurs ont-ils déjà été créés ? Excellent!
Dans le plan du site Filmes_lgbtq , regardez maintenant l' Scrape . Oui, c’est ce bouton qui fait que le scraping se fasse automatiquement. Sans avoir à modifier les champs de vitesse, lorsque vous cliquez sur Start Scraping , l'extension ouvrira une nouvelle fenêtre et collectera les données des sélecteurs créés. Ne fermez pas la fenêtre avec l'icône Web Scraper , laissez simplement faire ☺
Après notification de la fin du scraping, dans l' Sitemap Filmes_lgbt , vous pouvez extraire les informations au format csv > Exporter les données au format csv
Une fois exportée, voici à quoi ressemblera votre tableur
De plus, vous pouvez également exporter le plan du site , qui sera généré comme ceci :
{"_id":"filmes_lgbtq","startUrl":["https://editorial.rottentomatoes.com/guide/best-lgbt-movies-of-all-time/[1-4]"],"selectors" :[{"id": "movie", "type": "SelectorElement", "parentS electors":["_root"],"selector":"div.countdown-item:nth-of-type(n+2)","multiple":true,"delay":0},{"id": "title", "type": "SelectorText", "parentSelectors": ["movie"], "selector": "h2 a","multiple":false,"regex":"","delay":0},{"id":"année","type":"SelectorText","parentSelectors":["movie"], "selector": "span.subtle", "multiple": false, "regex": ", "delay": 0}, {"id": "poster", "type": "SelectorImag et","parentSelectors":["movie"],"selector":"img","multiple":false,"delay":0},{"id":"ranking","type":"SelectorText" ,"parentSelectors":["movie"],"selector":"div.countdown-index","multiple":false,"regex":"", "delay":0},{"id":"cast","type":"SelectorText","parentSelectors":["film"],"selector":"div.cast","multiple":false, "regex":"","delay":0},{"id":"synopsis","type":"SelectorText","parentSelectors":["movie"], "selector": "div.synopsis", "multiple": false, "regex": ", "delay": 0}, {"id": "evaluation", "type": "SelectorText", "parentSelectors" :["movie"],"selector":"span.tMeterScore","multiple":false,"regex":"","delay":0}]}
Par curiosité, il s'agit du contenu que vous collez dans l' Importer le plan du site lorsque vous souhaitez consulter ce plan du site dans un autre navigateur ou le partager pour que d'autres utilisateurs puissent y accéder.
C'est notre ligne d'arrivée. Bonnes pratiques et longue vie avec Web Scraper !
Veuillez publier vos commentaires et critiques