Scraping Tripadvisor problème avec Web Scraper

Bonjour à tous !

Je commence tout juste dans le monde du Growthhacking, et je découvre les joies du scraping.

Je cherche à scrapper des adresses mail + nom d’établissement de CHR / restauration sur des zones géographique définis via TripAdvisor.

J’ai mis en place l’outil webscraper sur un pc indépendant qui tourne que pour ça, cependant dans mon selector graph il doit y avoir un problème, car je ne parviens pas à aller sur la page suivant pour effectuer mon acquisition.

Tout se passe super bien sur la première page, donc les 30 premiers restaurant, et par la suite web scraper s’éteint et arrête.
J’en déduis ainsi qu’il n’arrive pas à passer la page suivant malgré que j’ai essayé différentes configurations…

Si certains arrivent à éclairer ma lanterne à ce niveau, ca serait absolument super !!

Voici mon sitemap sur la ville de Bergerac par exemple :

{"_id":« bergerac »,« startUrl »:[« https://www.tripadvisor.fr/Restaurants-g17759543-Bergerac_Dordogne_Nouvelle_Aquitaine.html"],« selectors »:[{« id »:« restaurantunaun »,« parentSelectors »:["_root",« pagesuivante »],« type »:« SelectorLink »,« selector »:"div.dzomp:nth-of-type(1) a »,« multiple »:true,« delay »:0},{« id »:« mail »,« parentSelectors »:[« restaurantunaun »],« type »:« SelectorLink »,« selector »:« div.bKBJS:nth-of-type(2) a »,« multiple »:false,« delay »:0},{« id »:« pagesuivante »,« parentSelectors »:["_root"],« type »:« SelectorLink »,« selector »:« a.nav »,« multiple »:true,« delay »:0}]}

Et voici le graph qui en découle

Capture

Pour l’exemple il n’y a que le mail qui sort, mais je prends aussi le nom avec

Ps : si quelqu’un sait comment extraire le numéro de téléphone avec, ça serait absolument splendide !!

Merci beaucoup !!

Sélectionne le second enfant de la div parent.
À chaque fois, c’est le btn suivant

.pageLinks:nth-child(2)

edit : en fait il n’y a pas que ça qui foire.
ton graph aussi me parait mauvais

Cadeau :
{"_id":« tripadvisor »,« startUrl »:[« https://www.tripadvisor.fr/Restaurants-g17759543-Bergerac_Dordogne_Nouvelle_Aquitaine.html"],« selectors »:[{« id »:"btn next »,« paginationType »:« auto »,« parentSelectors »:["_root",« btn next »],« selector »:« a.nav »,« type »:« SelectorPagination »},{« delay »:0,« id »:« url restaurant »,« multiple »:true,« parentSelectors »:["_root",« btn next »],« selector »:« div.dzomp:nth-of-type(1) a »,« type »:« SelectorLink »},{« delay »:0,« id »:« telephone »,« multiple »:false,« parentSelectors »:[« url restaurant »],« regex »:"",« selector »:« a span span.brMTW »,« type »:« SelectorText »},{« delay »:0,« id »:« email »,« multiple »:false,« parentSelectors »:[« url restaurant »],« selector »:« div.bKBJS:nth-of-type(2) a »,« type »:« SelectorLink »},{« delay »:0,« id »:« Nom »,« multiple »:false,« parentSelectors »:[« url restaurant »],« regex »:"",« selector »:« h1.fHibz »,« type »:« SelectorText »}]}

image

Merci beaucoup pour cette réponse et pour ce cadeau ! :slight_smile:
Ca marche vraiment super bien !!!

Merci beaucoup :slight_smile:

Bonjour,

J’ai essayé d’utiliser ce sitemap sur d’autres zones géo sur le site, mais webscraper me dit directement « invalid JSON » quand j’importe…

Ex :

Une idée de ce qui peut causer ce soucis ?

Merci beaucoup d’avance

Hello @Knyfe, les quotes " sont mal formatés sur ton screen :slight_smile:

1 « J'aime »

Bonjour @ClementAubry

C’était bien ça le problème :upside_down_face: Merci beaucoup !

Malheureusement, le problème initial de l’OP persiste pour moi. Seulement la 1ère page de scrappée sur la recherche : https://www.tripadvisor.fr/Restaurants-g187147-Paris_Ile_de_France.html :frowning_face:

Hello @Knyfe, peux-tu me re-partager le sitemap ?

En utilisant le format « code » cette fois-ci pour garder les quotes!

{"_id":"tripadvisor2","startUrl":["https://www.tripadvisor.fr/Restaurants-g187147-Paris_Ile_de_France.html"],"selectors":[{"id":"btn 4 next","parentSelectors":["_root","btn next","btn 4 next"],"paginationType":"auto","selector":"a.nav","type":"SelectorPagination"},{"id":"url restaurant","parentSelectors":["_root","btn next"],"type":"SelectorLink","selector":"div.dzomp:nth-of-type(1) a","multiple":true,"delay":0},{"id":"telephone","parentSelectors":["url restaurant"],"type":"SelectorText","selector":"a span span.brMTW","multiple":false,"delay":0,"regex":""},{"id":"email","parentSelectors":["url restaurant"],"type":"SelectorLink","selector":"div.bKBJS:nth-of-type(2) a","multiple":false,"delay":0},{"id":"Nom","parentSelectors":["url restaurant"],"type":"SelectorText","selector":"h1.fHibz","multiple":false,"delay":0,"regex":""}]}

Hop, j’espère avoir utilisé le formatage correct @ClementAubry

Merci pour ton aide en tout cas

Le formatage est bon @Knyfe!

Ton sitemap a un problème, voilà un screenshot du « sitemap graph »
image

Le problème est que ton bouton next ne scrap rien. Il faut que tu rajoutes le selecteur url restaurant en fils :slight_smile: Voilà à quoi ressemble désormais ton sitemap.

image

Tu peux essayer et nous dire si ça marche ? :slight_smile: Pour cela tu dois juste rajouter btn 4 next en parent de ton url restaurant

3 « J'aime »

Hello Clément, sans vouloir vendre la peau de l’ours avant de l’avoir tué, ça tourne depuis ce matin sans interruption et je pense donc bien que ça fonctionne !

Merci beaucoup !

PS : Je suis couvert par Alan, ton aide précieuse me donne un a priori encore meilleur sur cette boite (en plus du nounours mignon sur la carte de tiers-payant)

2 « J'aime »

Avec plaisir, content que ça marche !

Heureux de contribuer à la bonne image de notre boîte, merci pour ton gentil message :slight_smile:

1 « J'aime »

Salut Clément, serait-il possible d’avoir le code corrigé du coup ? je ne sais pas ou mettre le parent selector dans le code de base. Et je voudrais aussi extraire la quantité d’avis du commerce scrappé ?