Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un comptelive_helpToutes les questions

Beachmountains
29 mars 2025
Résolue
5 réponses
Problème Debug Playwright et BrigthData
Bonjour,
j'ai un problème le debug fontionne bien avec playwright seul,
mais quand je vais le records , il faut que je passe le Captach.
mais avec BrigthData j'ai une page blanche sut chrome dev Tools
merci
00:00:00 :Jusqu'à présent on utilise un navigateur qui est directement sur notre ordinateur donc lenavigateur Chromium de Playwright et dans cette partie on va voir comment alterner entre cenavigateur en local et le Scrapping Browser de Bright Data qui va nous permettre de varier lesproxys et de nous assurer qu'on ne sera jamais bloqué lorsqu'on fait des requêtes vers notre
00:00:20 :site Airbnb puisque quand on fait tout en local au bout d'un moment même si vous espacez lesrequêtes même si vous faites attention il peut arriver des moments où vous serez bloqué etc'est là où l'utilisation du Scrapping Browser va permettre automatiquement sans que vous n'ayezrien besoin de faire de changer de proxy donc d'utiliser en fait un autre ordinateur tout
00:00:38 :simplement pour pouvoir refaire vos requêtes. Tout ça va être géré automatiquement et onva voir dans cette partie comment on peut facilement intégrer un switch qui nouspermet de passer de l'un à l'autre facilement dans notre script. Donc dans l'interface de
00:00:52 :Bright Data je vais me rendre sur le Scrapping Browser que j'ai ici vous voyez qu'avec tousles tests que j'ai fait pour cette formation je n'en suis qu'à 4$ de dépensés. Si vous n'avez
00:01:00 :pas encore de Scrapping Browser dans la liste ici vous pouvez en ajouter un nouveau je croisque par défaut il y en a un et il n'est juste pas activé. S'il n'y en a pas vous pouvez cliquer
00:01:08 :sur Add ici et ajouter un Scrapping Browser et tout simplement sauvegarder et continuer sur lapage que je vais afficher maintenant en cliquant dans ce cas ci sur le Scrapping Browser qui estdisponible ici dans mon cas. Donc je clique dessus j'arrive sur cette page de configuration on a
00:01:23 :d'autres configurations ici un peu plus avancées notamment si vous souhaitez mettre des cookiesou des headers custom mais dans ce cas ci on n'en aura pas besoin on va utiliser les options pardéfaut et vous avez un dernier onglet statistiques ici qui va vous montrer les statistiques d'utilisationde votre Scrapping Browser. Donc assurez vous de bien l'activer en cliquant ici sur Active Proxy
00:01:43 :et on va avoir ici différentes informations qui vont être importantes notamment le nomd'utilisateur, le host et le mot de passe qu'on va pouvoir utiliser pour se connecter avec ceScrapping Browser. Donc je vais faire un petit peu de place ici en mettant PyCharm à gauche et
00:01:57 :mon navigateur à droite et on va maintenant utiliser les informations qu'on a ici pour seconnecter à ce Scrapping Browser. Vous pouvez également vérifier le code qui est disponible
00:02:06 :en cliquant ici sur Checkout Code and Integration Examples et vous allez avoir des exemples decodes préfets pour différents langages et différentes librairies. Vous avez notamment
00:02:14 :le langage Python bien sûr et la librairie Playwright donc exactement ce qu'on est entrain d'utiliser et vous voyez ici la chaîne de caractère complète qui va nous permettre denous connecter à ce Scrapping Browser. Vous avez également un exemple de code avec cette fois ci
00:02:28 :l'API Async donc asynchrone de Playwright qui permet de faire à peu près la même chose quece qu'on vient de faire jusqu'à présent. Donc je vais copier cette chaîne de caractère ici qui n'est
00:02:38 :autre qu'une chaîne de caractère qui contient le host, le username et le password qu'on a vu sur lapage précédente. Donc là on voit ici le nom d'utilisateur, le mot de passe et ensuite le
00:02:48 :host ici avec WSS qui signifie Web Socket Sécurisé ce qui va nous permettre de faire nosrequêtes à travers ce Web Socket et accéder au Scrapping Browser de Bright Data. Donc vous
00:02:59 :retrouvez ici le host, le username et le password. Donc j'ai copié moi toutes ces informations icialors je vais refaire un petit peu de place pour qu'on voit la chaîne au complet. Donc on a bien
00:03:08 :le WSS pour Web Socket Sécurisé de .// donc la même chose qu'un HTTP de .// sauf que ici c'estWSS. On a ensuite ici donc le nom d'utilisateur, le mot de passe et ensuite arrobas et le host qui
00:03:23 :est brd-superproxy.neo et le port 9222. Et donc c'est grâce à cette URL qu'on va pouvoir seconnecter à la place de notre Chromium local au Scrapping Browser de Bright Data. Donc ce que
00:03:34 :je vais faire c'est que je vais rajouter ici un paramètre, je vais mettre Bright Data quiva être égal par défaut à false et ça va nous permettre quand on lance ici de spécifier si onsouhaite utiliser le navigateur local ou le Scrapping Browser de Bright Data. Donc là je vais
00:03:48 :mettre Bright Data qui va être égal à true et on va ici faire tout simplement un if-else donc onva dire if Bright Data. On va cette fois-ci utiliser là encore Chromium mais on va utiliser une autre
00:04:00 :méthode qui s'appelle connect over CDP et on va utiliser donc cette chaîne de caractères ici quiva nous permettre de nous connecter à travers ce Web Socket. Si on souhaite ne pas utiliser
00:04:11 :Bright Data et bien on va tout simplement utiliser ici le Chromium.launch qu'on avait dans les partiesprécédentes. Et là je vais bien m'assurer de mettre browser ici pour récupérer dans un cas
00:04:21 :comme dans l'autre le navigateur dans cette variable browser. Donc normalement on a toutqui est correctement configuré et on va pouvoir tester ça en lançant notre script avec BrightData qui est égal à true ici. On va rentrer dans cette structure conditionnelle et lancer le
00:04:34 :navigateur. Donc je vais mettre un point de debug ici, en fait je vais plutôt le mettre ici sur leif pour vérifier qu'on rentre bien à l'intérieur de cette structure conditionnelle et je relancemon script en mode debug. Donc on va s'arrêter ici, on continue avec le step over et on voit
00:04:47 :qu'on rentre bien à l'intérieur de cette structure conditionnelle. On va continuer et on arrive biennormalement ici à la page. Donc je vais continuer page, on va aller jusqu'au goto et je vais
00:04:58 :m'arrêter ici sur le page.getByRole et ce qu'on va faire c'est qu'on va revenir donc si jeremets le PyCharm à gauche, on va revenir ici et vous allez voir qu'on a un outil très pratiquequi est ici avec le Chrome DevTool Debugger qui nous permet d'afficher le Scrapping Browser pour
00:05:14 :avoir un rendu visuel de ce qu'on est en train de faire avec notre code. Donc je vais cliquer iciet là si tout fonctionne bien vous allez avoir une url sur laquelle vous pouvez cliquer. Si votre
00:05:24 :Scrapping Browser n'est pas actif vous n'aurez rien d'affiché ici mais là comme on a lancé notrescript il est actif. On est avec le point de debug arrêté à cette partie donc pour l'instant il
00:05:32 :est actif et il ne fait rien il attend nos instructions et donc on va cliquer ici ça vaouvrir un nouvel onglet et dans cet onglet et bien on va tout simplement retrouver un navigateur avecla page Airbnb qui s'affiche et à droite les outils de debug donc les outils classiques qu'on
00:05:46 :retrouve dans n'importe quel navigateur qui nous permettent d'avoir accès au code html del'inspecter comme on le ferait dans n'importe quel navigateur ici avec la petite icône qui nouspermet de voir les boutons les différentes cartes html etc. Donc ça ça va être très pratique pour
00:06:00 :vérifier ce qui se passe quand on utilise notre Scrapping Browser. Je vais pouvoir continuer etfaire un step over pour cliquer sur le bouton et vous allez voir que ça va bien se mettre à jouret qu'on va cliquer ici dans notre browser sur le bouton donc là vous voyez que le bouton a bien
00:06:13 :disparu puisque l'action a été exécutée et je peux continuer comme ça donc on va continuer jusqu'aubreak pour vérifier qu'on va bien naviguer à travers chaque page donc je mets un point d'arrêtici sur le break je clique sur resume et on va pouvoir vérifier en revenant sur notre navigateur
00:06:27 :qu'on va bien passer à travers chaque page donc là vous voyez qu'on navigue à la deuxième pageensuite on va passer à la troisième page etc jusqu'à arriver sur la page numéro 15 donc ladernière page et le script va s'arrêter à cette page puisqu'il n'y en aura plus après et vous
00:06:41 :voyez qu'on a un Scrapping qui est un peu plus lent que ce qu'on avait en local mais c'est logiquepuisque BryData va constamment monitorer les performances du site pour s'assurer que vousne faites pas un Scrapping trop agressif et que ça reste justement un Scrapping éthique donc c'estun des avantages en fait de cette solution c'est que vous pouvez être assuré comme ça que vous
00:07:00 :aurez le moins de blocage possible et dans le cas où vous avez des sites assez agressifs qui bloquenttrès rapidement et bien le navigateur va automatiquement passer sur un autre proxy doncun autre ordinateur qui ne sera pas bloqué et comme ça vous pourrez continuer le Scrapping donccette option est très intéressante si vous voulez être assuré de ne jamais être bloqué ou en tout
00:07:18 :cas le moins possible on n'aura jamais quelque chose à 100% fonctionnel mais vous pourrez passercomme ça à des taux de succès qui vont être grandement améliorés avec cette solution et donccomme vous le voyez maintenant donc on continue sur les pages je vais pas aller jusqu'au bout on va
00:07:32 :s'arrêter ici donc je vais arrêter mon script et vous allez voir comme ça en arrêtant le script quecette table devient inactive donc on n'a plus d'activité ici et si je reviens sur BryDatavous voyez que cette fois-ci il ne peut plus trouver de session donc quand je clique sur
00:07:45 :Chrome DevTool Debugger ici on n'a plus de lien pour accéder à la session et c'est normal puisqu'ellen'est plus active donc vous voyez c'est très pratique ça on va pouvoir comme ça passer justeavec ce petit paramètre ici soit en local soit avec le Scrapping Browser de BryData donc pour
00:07:59 :nos tests pour tout ce qu'on fait en local comme ça pour tester le script pour vérifier que toutfonctionne on va rester en local et après quand on passe en production pour s'assurer que toutfonctionne le mieux possible et bien on peut juste changer ce paramètre pour s'assurer de passer par
00:08:11 :le Scrapping Browser et c'est vraiment la seule chose que vous aurez besoin de changer tout lereste va être similaire puisque ça va être de la logique au niveau du code HTML donc ça ça nechangera pas que vous passiez par votre navigateur local ou par le Scrapping Browser ça sera exactement
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.