Scraping annuaire agences immobilières

Bonjour à toutes et à tous,

Petit nouveau sur ce forum, je viens de découvrir ce site et le petit monde du growthacking d’une manière plus générale ! (Je n’ai pas trouvé la page de présentation des nouveaux membres si il y en a une )

Je vous tire mon chapeau car tout est clair et bien classé par catégories rendant la lecture beaucoup plus fluide et pertinente pour les novices comme moi.

J’espère être dans la bonne catégorie, le sujet que je souhaite aborder à surement déjà été traité mais après avoir parcouru la rubrique Scraping, je n’ai pas trouvé de discussions similaires et la toolbox me dirige sur des sites internet sans que je ne saches réellement si l’outil est adapté à mon besoin qui est le suivant:

Je lance un service destiné aux agences immobilières et je souhaite me construire une base de données pour les contacter plus facilement. Utilisant Mailchimp, mon idée est d’y importer les données suivantes sous-forme de tableur :

  • Nom de l’agence
  • Ville ou département
  • Adresse e-mail

Après avoir consulté plusieurs annuaires, Celui ci me semble le plus complet et pratique car toutes ces données y apparaissent sans avoir à cliquer sur les agences une par une.

Mon objectif étant d’automatiser la capture de ces données (au moins l’adresse e-mail s’il ne faut en choisir qu’une) afin de les importer dans un tableur type Excel ou Sheet, existe t’il des outils capables d’effectuer cette tâche et si oui, lequel me recommanderiez-vous ?

Merci d’avance pour votre retour :wink:

Si tu es à l’aise avec le code, je te conseil puppeteer (nodeJS) qui te permet de faire ça en quelques lignes.

Bonjour, vous pouvez essayer Data Miner ou iMacros (extensions Chrome). De mémoire Data Miner vous permet d’exporter le contenu de sélecteurs dans un fichier.
Sinon, le plus efficace reste pour moi Node avec Puppeteer (Javascript)
Bonne chance :wink: !

iMacros semble être bien pour ce site

Vu que c est un one shot , Zennoposter est top pour ce type d action, 15 min pour faire un bot qui scrape et sort un csv.

3 « J'aime »

Merci à toutes et à tous pour vos retours !

Pour répondre dans l’ordre :

  • Le code étant mon point faible, je ne vais pas pouvoir essayer Puppeteer

  • J’ai installé l’extension iMacros mais je ne parviens pas le configurer pour que cela capture automatiquement les 1800 pages de l’annuaire :roll_eyes:

  • Je viens d’installer la version demo de Zennoposter, l’outil à l’air puissant, cela semble être une véritable usine à gaz et je suis à la recherche d’un tuto pour mener à bien ma mission !

Je cherchais de préférence une solution gratuite car je n’ai pour le moment pas de budget à y consacrer mais le pricing me semble honnête si cela me permet effectivement de créer un bot capable de scraper automatiquement les 18 000 agences sur csv !

Si tu veux un truc facile et puissant, pour immostreet qui est un site franchement simple et statique, tu peux utiliser… GOOGLE SHEET !

En jouant convenablement avec les URLs, et les XPath, tu peux tout scraper sans sortir de machines à gaz type iMacros, Zennoposter, ou Puppeteer.

J’ai fait un Google Sheet partagé, on devrait y arriver tous ensemble : https://docs.google.com/spreadsheets/d/1o4GAR4jURyKHhbNrKgEIYXJ85yaZszpdvz1dExZOzfM/edit#gid=0

:crab:

NB : regarde les XPath, ça devrait pas mal t’aider, et la fonction ImportXML

1 « J'aime »

Psst… j’ai fait un tuto sur l’extraction avec Google Sheet par ici… http://bit.ly/2PhiFFj :+1::+1:

3 « J'aime »

Et voilà…!

Attention à respecter le site web, et à ne pas spammer les gentils agents immobiliers :cowboy_hat_face:

1 « J'aime »

Pas mal.
Et du coup tu proposes quoi comme service aux agences immobilières ? :slight_smile:

Wow trop fort, merci @SashaLobstr !

Cela a effectivement l’air plus simple avec Sheet, d’après toi est-ce possible de scrapper automatiquement plusieurs pages ?

A raison de 10 agences par pages, il y a :

  • 1800 pages uniquement pour la ville de Paris (18034 agences)
  • 400 pages pour le 91 (3993 agences)
  • 723 pages pour le 92 (7228 agences)
  • 323 pages pour le 93 (3434 agences)
  • 461 pages pour le 94 (4606 agences)
  • 308 pages pour le 95 (3078 agences)
  • 450 pages pour le 77 (4499 agences)

Soit un total de 4465 pages et de 44 872 agences immobilières uniquement pour la région Parisienne !

Je suis en train de suivre ton excellent tuto, je viens de créer un onglet en feuille 2 pour illustrer brièvement ma vision du tableau mais je ne vois pour le moment pas comment automatiser le scrap sur plusieurs pages.

1 « J'aime »

Petite mise à jour nocturne :sleeping:

Dream Bigger qu’ils disaient !

Pour être honnête je pensais simplement collecter dans un premier temps les e-mails des agences présentes dans ma ville puis mon département et de voir ce que cela pourrai donner.

Et puis j’ai décidé de voir les choses en grand puisque le procédé de Scrap est identique peu importe qu’il s’agisse d’une ville ou d’une région entière à condition d’avoir la bonne formule !

J’ai donc effectué un tour complet de l’annuaire en ligne régions par régions. Voici pour ceux que cela intéresse le nombre total d’agences immobilières présentes dans notre beau pays !

  • Alsace : 3131 agences
  • Aquitaine : 9006
  • Auvergne : 1649
  • Bourgogne : 3138
  • Bretagne : 4464
  • Centre : 4907
  • Champagne-Ardenne : 2173
  • Corse : 739
  • Franche-Comté : 1487
  • Guadeloupe : 419
  • Île-de-France : 49931
  • La Réunion : 626
  • Languedoc-Roussillon : 8512
  • Limousin : 1098
  • Lorraine : 3223
  • Martinique : 365
  • Midi-Pyrénées : 7280
  • Nord-Pas-de-Calais : 5167
  • Pays de la Loire: 6273
  • Picardie : 3112
  • Poitou-Charentes : 3519
  • Provence-Alpes-Côte d’Azur : 18816
  • Rhône-Alpes : 17439

Soit un total de 156 474 agences immobilières !

Cela correspond à une moyenne de 4,5 agences par ville de France (35 287 communes recensées au 1e janvier 2017)

Grâce à l’excellent taff de @SashaLobstr, nous avons pu trouver la bonne recette (formule + mise en forme du tableau) pour scrapper toutes ces données sur un google sheet et les classer régions par régions !

Le processus est en cours et le problème qui se pose est maintenant le suivant :

  • Il semblerait qu’il y ait un nombre maximal de requêtes autorisées par Google.

Quel est le nombre maximum de requêtes réalisables et sur quel laps de temps cette limite est-elle définie ? Horaire / Journalier / Hebdomadaire / Mensuel ?

Quels sont les hacks exploitables pour contourner cette limite et ne pas avoir à attendre des mois afin de pouvoir scrapper l’ensemble des 156 474 e-mails présent dans l’annuaire en ligne ?

Merci encore pour votre aide car je ne m’attendais vraiment pas à être en mesure de pouvoir scraper plus de 150 000 mails en quelques jours en partant de zéro !

1 « J'aime »

J’allais faire pareil
Google Sheet : le paradis pour les gens qui ne font pas de code !

1 « J'aime »

Oui effectivement c’est pratique mais assez fastidieux lorsqu’il y a de gros volume à traiter: il y avait au début beaucoup de cellules indiquant le résultat “Loading” et je pense avoir trouvé la réponse sur les limitations :

Google Sheets API has a limit of 500 requests per 100 seconds per project, and 100 requests per 100 seconds per user.

Il faut donc compter environ 83 minutes de traitement pour le scrap de 5000 adresses mails.

Bonjour,
Le plus simple est de créer un script qui scanne le site et génère les données au format CSV.
Avec des outils comme Scrapy, c’est l’affaire d’une 1/2 journée de développement pour un freelance qui maîtrise (le framework Scrapy p.ex). Et tu auras exactement ce que tu veux, au format qui t’arrange.
Ce n’est pas gratuit, mais je pense que le coût d’une prestation comme celle-ci est compensée par tout le temps que tu perds à essayer de t’en sortir par toi-même, et qui te détourne de ton coeur de business.
Cordialement,
Hervé

Hello RV,

En réalité, le plus simple dépend vraiment de tes propres compétences, j’imagine qu’il n’existe pas à ce jour de « best solution ».

J’aurais tendance à partager ton idée, mais je prêcherais pour ma paroisse étant moi-même freelance et ingé dev avant tout.

Toutefois on ne peut pas nier qu’il existe certaines solutions clés en main qui peuvent -parfois- (j’insiste sur le parfois) très bien faire le job, sans dépenser ni déléguer cette tâche.

C’est la raison même de ce forum, proposer des solutions alternatives qui permettent aux non-techniques de s’en sortir eux-mêmes, surtout si le budget est serré. Enfin, évidemment que si la boite a des moyens et qu’elle préfère déléguer, là nous pouvons intervenir pour la presta :slight_smile:

1 « J'aime »

Merci pour vos messages,

Je ne sais hélas pas créer de script, la formule IMPORTXML sous Sheet me convient parfaitement et bien que laborieuse j’ai l’agréable sensation du « Do it yourself » auquel s’ajoute un budget nul pour cette solution alternative.

Sauf que depuis aujourd’hui cela ne fonctionne plus du tout alors que cela fonctionnait bien hier :
Les cases en loading se chargeaient progressivement une par une mais depuis tout à l’heure, tout reste totalement bloqué en 'loading" " Erreur Chargement des données…"

Je devrais peut être apprendre le script sous scrappy finalement :roll_eyes: à moins qu’un simple reboot / changement d’IP / VPN ne fasse l’affaire ?

Parfois, en supprimant le contenu de la cellule et en recopiant la formule, cela repart.
Mais de manière générale, quand il y en a trop cela rate.
Une fois scrappé, le mieux est de copier/coller en format texte dans une autre feuille pour alléger les appels.

1 « J'aime »

Complètement d’accord :sweat_smile::+1:

MAJ :

Reboot + changement d’IP + Changement de compte Google et c’est repartit ! Leur serveur à peut être blacklisté mon ancienne IP ou compte Google suite à la première offensive du Scrap massif :innocent:

Maintenant j’y vais progressivement, 100 par 100 sur une seule feuille que j’exporte ensuite dans un fichier excel pour alléger le SHEET et cela semble fonctionner (pour le moment) !

N’ayant pas encore trouvé la bonne stratégie de mass cold e-mailing je ne suis plus pressé pour le scrap de toutes ces données :roll_eyes:

1 « J'aime »