crawl url avec validation javascript

Salut la communauté !
C’est mon premier post ici je crois, alors bonjour à tous déjà :slight_smile:

Voila je suis un peu un vieux de la vielle, disons que je faisais du growth à l’époque ou ça n’avait pas encore de nom…
J’étais parti sur d’autres aventures et la j’ai besoin de faire un scrapping sur des url qui nécessitent visiblement du js pour valider le navigateur.

Je voudrais récupérer le contenu de cette page : https://www.pagesjaunes.fr/pros/56469532
Alors j’ai ressorti mes vieux bouts de code en php avec curl (à l’ancienne je vous avait prévenu)
Sauf que je me prend une 403, visiblement il y a une validation avec du js. J’ai testé avec ScreamingFrog et je prend également la 403 sauf en activant le rendu javascript ou la je récupère bien le contenu html.

J’imagine que ce site a été plus qu’un peu « travaillé » par la communauté :smiley:
J’en appelle donc aux bonnes âmes qui voudraient bien m’orienter un peu dans mes recherches.
L’idéal pour moi au final serait d’avoir un script php avec du curl qui simule ce qu’attend la page après l’histoire du javascript.

Au plaisir d’échanger avec vous.
Jeremy

Bon après quelques test je me rend compte qu’en désactivant javascript dans le navigateur il affiche quand même correctement la page. Donc on peut faire sans javascript.
Donc c’est plutôt une histoire de cookie mais en mettant un cookie persistant avec cUrl ça me renvoie toujours la 403…
Des idées ?

A priori c’est cloudflare derrière qui gère ça…
Bon dois bien y avoir un moyen quand meme…

utilise puppeteer cluster

Merci @Sonic je vais regarder ça :slight_smile:

Le code HTTP 403 signifie que tu t’es fait détecter et bannir par le serveur, les pagesjaunes sont relativement pénibles à scraper, il faut mettre les bonnes en-têtes, bien gérer les cookies et malgré tout au bout d’un moment tu seras détecté car ils se basent aussi sur le comportement, il faudra utiliser des proxies. Pour obtenir une commande curl qui fonctionne tu peux utiliser ton navigateur : developper tools → tu vas sur la page en question, et dans l’onglet réseau du développer tools to clique droit sur la requete qui renvoie la page html et là tu peux récupérer une commande curl adéquate

Ouhla mais j’ai une solution toute simple: Importfromweb!
Tu scrapes depuis google sheets avec une simple fonction, même les sites rendus en JS!

Regarde cette feuille, je t’ai fait un exemple (cf la formule en C2)

Si tu veux essayer, tu as 1.000 requêtes free en installant l’add-on ici:

Oh! Ça à l’air sympa ça.
Je vais tester également. Merci @Adrien_NDNB :slight_smile:

Ce sujet a été automatiquement fermé après 365 jours. Aucune réponse n’est permise dorénavant.