Analyse du site pour préparer le scraping
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Avant d'écrire la moindre ligne de code, il est important de vérifier à quoi ressemble le site qu'on va scraper.Tout ça pour savoir simplement à quel point le scrapping va être facile ou non.
00:00:10 :En effet, il y a des sites qui sont très bien organisés avec des idées très spécifiques pour chaque élément de la pageou des classes qui vont se répéter en fonction d'éléments similaires et d'autres qui sont un peu plus difficiles à scrapercar par exemple on va avoir des classes totalement aléatoires sur chaque élément et donc il va falloir utiliser d'un peu plus de ruses.
00:00:28 :Donc je me rends sur le site de Airbnb avec le mois d'avril pour Rio de Janeiro et je vais faire un clic droit pour inspecter la pageen faisant inspect ici, ça devrait être la même chose pour la plupart des navigateurs.
00:00:40 :Ce qu'il nous faut en fait c'est ces outils de développement qui vont nous permettre d'analyser le code HTML de la page.Donc là si je défile un petit peu dans les annonces, on va voir déjà qu'on a différentes informations de prix.
00:00:52 :On en a certaines qui sont uniques comme ici et d'autres avec un prix qui est barré et un prix réduit.Pour analyser le HTML de ces parties qui nous intéressent, on va cliquer sur cette petite icône qui nous permet de sélectionner des éléments dans la pageet d'afficher le HTML correspondant ici pour ne pas avoir à chercher à l'intérieur de tout ce HTML à la main puisque vous voyez qu'il y a énormément de choses ici.
00:01:27 :Donc moi je le sais puisque j'ai longuement préparé cette formation.Donc par exemple pour le prix ici, vous voyez qu'il faut aller vraiment tout en bas à gauche du prix et là on va pouvoir sélectionner cet élément.
00:01:36 :Si jamais vous n'arrivez pas à cibler un élément précis, par exemple vous voyez qu'ici je n'arrive pas à cibler les étoiles, donc le 4,86.Donc ce qu'on peut faire c'est aller un niveau au dessus.
00:01:53 :Donc le lien pour cliquer sur la carte et un autre div en dessous qui va contenir d'autres informations.Donc là on a un div avec l'image et on a un autre div avec toutes les informations qui vont nous intéresser.
00:02:11 :Donc par exemple on retrouve ici l'élément de la note et si on vient ici on a l'élément du prix.Donc si je veux voir dans le prix, moi ce qui m'intéresse c'est de savoir à quel point il y a des choses qui vont se répéter sur la page.
00:02:22 :Donc je vais reprendre mon outil de sélecteur ici pour aller précisément sur cet élément.Donc on voit que c'est un span qui a une classe avec TYXJP1 ici.
00:02:31 :Donc c'est une classe qui ne veut pas dire grand chose, des fois on a des classes qui sont beaucoup plus explicites.On pourrait avoir par exemple une classe qui s'appelle Price quelque chose.
00:02:39 :Là vous voyez que toutes les classes ici ont des noms un peu loufoques.Donc c'est des classes qui sont générées automatiquement.Et nous ce qui va nous intéresser c'est de savoir si cette classe se répète.
00:02:48 :Est-ce qu'à chaque fois pour les informations de prix on a une classe différente complètement aléatoire.Auquel cas ça va complexifier grandement notre scrapping ou on a quelque chose qui se répète.
00:03:03 :Et là malheureusement on voit qu'on a une seule occurrence de cette classe dans tout le fichier.Alors je sais parce que j'ai déjà préparé cette formation que là en fait ce n'est pas une classe unique.
00:03:13 :En fait c'est juste que sur toute cette page c'est cette seule carte qui a un prix qui n'est pas barré.Si on va voir sur les autres cartes ici on voit qu'on a un prix barré et un prix normal.
00:03:21 :Et c'est le même cas pour toutes les autres cartes à part celle-ci.Donc là on a une seule occurrence non pas parce que cette classe est unique.
00:03:27 :Mais parce que la carte avec le prix qui n'est pas barré est unique sur la page.Si on va voir par contre ici avec le prix barré et le prix qui est le vrai prix en fait de l'appartement.
00:03:37 :Si je vais voir ici là on va voir que cette fois-ci on a deux noms de classe.Donc on a le nom de classe pour le prix barré et on a le nom de classe pour le prix actuel.
00:03:45 :Et il est différent de celui qu'on avait.Si je copie ce nom ici et que je vais vérifier là cette fois-ci on voit qu'on a 1 sur 23.
00:03:52 :Donc une occurrence sur 23.Et si on défile comme ça on va voir qu'à chaque fois on va pouvoir récupérer le prix barré.Donc là en fait on descend comme ça sur la page et à chaque fois on va récupérer le prix barré.
00:04:01 :Donc le prochain prix, pas le prix barré en fait mais le vrai prix actuel qui est à côté du prix barré.Donc nous c'est le prix qui va nous intéresser puisque le prix barré c'est le prix sans la réduction.
00:04:10 :Nous on veut avoir le vrai prix qu'on paierait si on irait louer cet appartement.Donc là vous voyez qu'on a deux cas de figure en fait sur la page mais avec une classe qui se répète.
00:04:19 :Donc on a le premier cas de figure ici avec un prix sans réduction qui va être une classe spécifique.Et le cas des locations qui ont un prix réduit avec cette classe qui cette fois-ci se répète.
00:04:29 :Donc ça me rassure, ça veut dire qu'en fait on a bien un même nom de classe qui n'est pas très explicitemais qui va se répéter sur la page et qu'on va pouvoir utiliser pour récupérer le prix de la page.
00:04:40 :Donc il faudra juste gérer le cas de figure où on a un prix qui n'est pas réduit.Et donc vérifier à chaque fois pour chaque carte est-ce qu'on a un prix réduit ou non.
00:04:47 :Et en fonction de cette information récupérer soit le prix directement soit le prix réduit de la location.Donc vous voyez que malgré un code HTML ici qui est très chaotique avec énormément de choses dans tous les sens.
00:04:59 :On a quand même identifié avec cette analyse qu'on a des éléments qui nous permettent de récupérer les informations qui nous intéressent facilement.Et si on va voir à d'autres endroits on voit qu'on a quand même malgré toutes ces classes là encore qui sont un petit peu du charabia.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.