Scrapper mails Tripdavisor

Hello les copains et copines :slight_smile:

Savez-vous s’il est possible de scrapper les adresses mails des restaurateurs sur TripAdvisor ?

Si oui, comment?

Merciii à vous et excellente fin de journée à tous :slight_smile:

1 « J'aime »

Bonjour @amelie.p,
Oui c’est possible le mail est visible dans le code source juste après class=« ui_icon email »

Exemple : view-source:https://fr.tripadvisor.ca/Restaurant_Review-g1198571-d8570805-Reviews-La_Table_Du_6-Laille_Ille_et_Vilaine_Brittany.html

Ensuite pour trouver la liste des pages, soit tu scrappes une recherche ou alors via le sitemap que que tu peux trouver sur leur robots.txt
https://www.tripadvisor.fr/robots.txt

Après tu as plein de tools import.io, Octoparse etc…
Perso j’utilise Octoparse qui est super puissant et simple pour les non inité au JS ou Pyton, mais qui requiert quand même une bonne maitrise des Xpath :slight_smile:

2 « J'aime »

Cool ton astuce @bbjaune, par contre de mon côté je n’arrive pas à trouver d’autres cas comme ton exemple, ou l’email est présent dans le code source. Ca doit être une rare exception.

Sinon scrape « Site Web » des pages Tripadvisor, puis récupération des emails sur les sites des restaurants.

1 « J'aime »

Oui @Camille c’est rare mais parfoit ça arrive :slight_smile:
Mail caché dans un input en display none ou dans la balise generator, j’ai vraiment tout vue :smile:

Exemple http://www.nantes.maville.com/restaurants-bars/restaurant/le-monte-christo-60972
cf source code id=« contactResto-emailDest »

D’ailleur pour des restos regarde aussi du côté des sites xxx.maville.com/restaurants-bars/restaurant/ et de https://www.petitfute.com/ qui sont assez simples à scrapper !

2 « J'aime »

Je voulais dire, c’est rare sur Tripadvisor, je n’ai pas trouvé d’autres pages restaurant dans ce cas :wink:

Merci @Camille pour ton conseil :slight_smile: Comment est-ce que je peux scraper « site web » des pages TripAdvisor pour récupérer les emails sur les sites des restaurants?

Désoler j’en suis encore à mes tout débuts donc j’ai pas encore vraiment de connaissances

Encore merci :slight_smile:

Bonjour @bbjaune merci ton tes conseils!

Effectivement tout comme @Camille j’ai du mal trouver les emails des restaurateurs directement sur leurs pages (malgré que des fois il y en est effectivement quelques uns)

Pour l’outil que tu me recommande « import.io » est il facile a utiliser? Car pour être honnête j’ai encore tout à apprendre :slight_smile: Même si je suis hyper motivée ^^

A oui @Camille j’avais pas compris ça :smile:
Je l’avais fait il y’a 1 an en ciblant les restaurants dans les 20km autour de Rennes j’avais récupéré un peu plus de 500 mails, je pense que 20 à 30% des fiches contiennent le mail :slight_smile:

Alors pour commencer je passerais par Import.io, entraine toi avec ces 2 pages :
https://fr.tripadvisor.ca/Restaurant_Review-g1198571-d8570805-Reviews-La_Table_Du_6-Laille_Ille_et_Vilaine_Brittany.html
https://fr.tripadvisor.ca/Restaurant_Review-g666496-d1024485-Reviews-Le_Saison-Saint_Gregoire_Rennes_Ille_et_Vilaine_Brittany.html

Ensuite tu dois trouver le Xpath qui te permet de récupérer le mail.
Là, c’est simple j’en vois deux qui marcherais très bien
//a[contains(@href,‹ mailto ›)]
ou
//span[@class=‹ ui_icon email ›]/following-sibling::a

Après pour mettre tout ça en place cherches des tutos import.io ou fouille un peu dedans, c’est le meilleur moyen d’apprendre !

Pour apprendre le Xpath, décortiques les deux que je t’ai envoyé et je te conseille de t’entrainer avec Google Sheet, tu as un tuto ici ImportXml & ImportHtml: Scraper avec Google Spreadsheet

5 « J'aime »

J’adore retrouver mes tutos à l’improviste :slight_smile: merci du partage @bbjaune

Si tu utilises import.io, tu n’auras même pas à apprendre le xpath par contre

2 « J'aime »

Et bien de rien @cebri, c’est ton tuto qui, il y’a 6 mois m’a permis de me lancer dans le scrapping :slight_smile:

Effectivement pas besoin du Xpath mais pour quelqu’un qui veut un minium de bases en scrapping et surtout ne jamais étre limité car import.io bloque, c’est indispensable de connaitre le Xpath, enfin selon moi.

1 « J'aime »

@bbjaune et @cebri merci à vous pour les conseil et ce tuto vraiment top :blush:

J’ai essayer de faire tout comme expliquer, mais je pense que j’ai du faire une erreur car lorsque je fait la recherche avec IMPORTXML ça me met : #N/A (erreur le contenu importé est vide) savez-vous d’où cela peu venir ?

Encore mille merci pour votre aide precieuse :blush:

@bbjaune +1 pour XPath :slight_smile:

Quelques cheat sheets pour XPath, qui peuvent toujours être utiles:

http://scraping.pro/res/xpath-cheat/xpath_css_dom_ref.pdf

4 « J'aime »

@amelie.p peut-être que le XPath que tu utilises est incorrect ?

Comme le mentionnait Clément, pour l’email c’est:
//li/a[starts-with(@href, 'mailto:')]/@href

Par contre pour scraper le « site web » des restaurants sur Trip, ça sera compliqué car l’URL du site web n’existe pas dans le code source de la page, voici le code HTML du lien « Site web »:

<div class="blEntry website" data-ahref="PFTJnVHii98LcJIJHcVMp3" data-column="2" data-trackingkey="URL_EATERY" onclick="ta.prwidgets.call('handlers.onWebLinkClicked', event, this)"><span class="ui_icon laptop"></span><span>Site Web</span></div>

Lorsqu’on clique sur le lien « Site web », Javascript gère l’événement et décode le HREF, afin d’ouvrir le site web du restaurant dans un nouvel onglet.

Pour récupérer l’url du site, il faudrait passer en headless browser (CasperJS par exemple), cliquer sur le lien « Site web », et récupérer l’adresse de la popup qui vient de s’ouvrir.

Sinon, la recommandation de @bbjaune d’utiliser une autre source (Le petit futé) est à suivre, car plus facile que Trip à gérer, emails et URLs des sites webs en clair dans le code source… :slight_smile:

1 « J'aime »

Je viens de tester sur GSpreadsheet, ca semble fonctionner. Je pense par contre qu’il y a une limite de nombre d’appels par jour…

Tu peux jouer avec ca: https://docs.google.com/spreadsheets/d/1WD1Ex4gqwheB6FQXd0lkH6JTbfrUe-BFkvGtInBZDYw/edit?usp=sharing

et ajouter les urls des pages dans la 1ere colonnes pour trouver les details correspondants

5 « J'aime »

@cebri @ScrapingExpert merci infiniment à vous deux pour votre aide et vos astuces!

Je vais regarder tout cela dès maintenant :blush: et je reviendrais vers vous pour vous confirmer que j’y suis bien arriver ^^

Encore merci

Ouah @cebri je ne sais comment te remercier! Ton système fonctionne à la perfection, milles merci :smiley:

1 « J'aime »

de rien, fais en bonne usage :wink:

1 « J'aime »

Oh que ouiiii :smiley:

Bonjour Cebri,
J’essaye depuis des jours de scrapper les bases de données des Restaurants sur Tripadvisor.
Je viens de voir ce post, mais malheureusement après quelques tentatives, cela ne marche pas (pour moi?)
Lorsque je rentre un URL dans la première colonne, le détail n’apparait pas dans les autres colonnes.
Serais-tu m’aider ?

Par avance je te remercie !

Hello, il fallait tirer la formule :wink: tu réessayes ?