Scraping agence immobilière

Merci Neeko !
J’ai pas eu le temps de répondre hier j’étais parti pour chercher la limite du time out mais du coup le taf est fait :slight_smile:

1 « J'aime »

Hello @didi_diagogo, les envois d’email en masse vers le même domaine mandataire (par ex @iaddrance, etc) ne te rend pas blacklisté par le domaine? Ou as-tu trouvé un moyen pour le contourner? Merci.

Hello @Marco_Chavez,
je ne pense pas qu’on soit blacklisté car je cible par région. Je fais pas d’envoie sur toute la France. Après les envoies de mailing on fait du call et la majorité ont bien reçu notre mail… (mail envoyé par Sendinblue)
N’hésite pas si besoin

Re la team !
je cherche à Scraper le site SNPI, c’est dans le même délire que IAD avec la carte de la France mais le soucis c’est le Captcha sur chaque agence. https://www.snpi.fr/agence/492839865/1379/alesco-immobilier/colombes-92700
Est-ce que c’est possible d’éviter le Captcha en mode scraping?

Ok très bien merci pour ton retour :+1:t2:

Hélas, il semble que la résolution des captchas soit obligatoire.

Exemple, lorsqu’on veut afficher les coordonnées de contact d’un professionnel, voici la requête XHR envoyée par notre navigateur:

fetch("https://www.snpi.fr/api/agency.php", {
  "headers": {
    "accept": "application/json, text/plain, */*",
    "accept-language": "en-US,en;q=0.9,fr;q=0.8",
    "cache-control": "no-cache",
    "content-type": "application/json;charset=UTF-8",
    "pragma": "no-cache",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-origin",
    "x-requested-with": "XMLHttpRequest"
  },
  "referrer": "https://www.snpi.fr/agence/842240723/4023/imonova-lebelimmo/neufchateau-88300",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": "{\"response\":\"03AGdBq24iijXHqsCsOGN5a2tDvvSdLIUfCeFQn8ev1QfysvMBNWPB5aKgpEYd_ye8D1OIArQGWI0ri1tREq-qsDvBXvVe2Up0mcbsrLaniw5Uf2SnyEip-4DvxMkVQzjqxLVaSIcqxcmnB_anrHfAwyoMUv0c-iDph5fK-EmOFa4mvkS6QMcoZ4RgVR60dZt3_GL1c_z4v8sSOEWZhFtB05eO0AldnySn2YH_85THqTzcfXaEfCH9eOH8WrqKNkd4x-UJbdrfS9346gUNo4wGZGEwarY4YN9JFaKxLSSMLTcbVRY3tqUOvsMvYiZjIMNYPqdghgJb2prJO-FTmDPWEQUx-H82VwWADSG_Ga0wKmDuIzFoGbvhWvkbtNJblU-XDSbuKUWWI3wmMMv6iAq8j1yiPOc4eO-_u0evXC1-iUtNWXanOXUBIw19HNNyBMgeKZKlYa_6jYzu\",\"rcs\":\"842240723\",\"id\":\"4023\"}",
  "method": "POST",
  "mode": "cors",
  "credentials": "include"
})

Avec entre autre ce payload JSON passé à la requête POST:

{"response":"03AGdBq24k1uePOe4BFwPCnWGWChE0sCc_y7OZOHicnr51mdy-Rr1YX7g-rv3uG3quRIHoPvFoVZrOu1q5Z0kHW4L49vuzXStLzp_lHNwX-7r4hYPtldn8ggxHKzV5Fv0tD6N6eFrbcVi5DbzCpVv9yNsOzWZQ6bQWVmQdTNqyYqN6fhpfUhgwq6105up8Ck9zZoXx56sNb8fYNFMY-t0GWct1CILPsotjqSHqX_M2YOYyhut_vSu55onlhO7-ZmfsbJ5jRr8KEcoDhQGDX2odcrlcZIzjW6bX1rdXsBiBWrJ_7ohjRVMINAmtO9sz6vY9ppbHhbwnppX3WehS4qspK2FzEDi4EJuxsT61_fCMZxBRWfHvbYf56azDyyk8YFS6b1xsTn5dbyAUoiEWo1vSvIQmi8c85TjcTLAnORQVy4FY4M7jL0kSi4GBnVxhtNm2FKmP1T7djI9Z","rcs":"842240723","id":"4023"}

Ce payload en JSON contient la clé « response », dont la valeur associée n’est ni plus ni moins que le token de validation retourné par l’API de Google Recaptcha (déclenché quand tu as validé le captcha manuellement):

Hello,

Il y a un moyen de contourner le captcha un peu plus laborieux mais pas impossible. Cela ne marchera pas pour toutes les agences mais pour celles qui ont des biens en locations et/ou ventes.

Le but est de passé via les pages annonces de chaque agence sur lesquelles tu peux accéder aux coordonnées sans captcha :

Le but maintenant est de pouvoir aller sur les pages des agences.
En suivant ce lien : https://www.snpi.fr/api/agencies.php tu auras un JSON avec une partie des informations nécessaire pour se rendre sur la page ci-dessus

Ci-dessous l’exemple pour l’agence F P IMMOBILIER :

{
  "type": "Feature",
  "id": 946,
  "geometry": {
    "type": "Point",
    "coordinates": [
      1.612802,
      47.717459
    ]
  },
  "properties": {
    "idAL": "25284",
    "name": "F P IMMOBILIER",
    "logo": "logo-WE9NWGlVbHVDWmxmOXpmbUhhcWdpZz09.gif",
    "houseagent": 1,
    "administrator": 0,
    "manager": 0,
    "trader": 0,
    "expert": 0,
    "address": "3 bis, route d'Orléans",
    "postal_code": "41220",
    "contact": "M. PAULIN Frédéric",
    "city": "SAINT LAURENT-NOUAN",
    "rcs": "451934103",
    "has_info": true,
    "has_bareme": true,
    "bareme": "7QqPzjxuSEXvHA3Qx_lI92SbrdqQBS6JngMArT0Kg6I%3D"
  }

Maintenant il te reste juste à pouvoir trouver une url pour un bien en location ou un bien en vente de cette agence.

Pour cela tu as le choix :

Comme tu l’as compris cela marchera uniquement pour les agences avec un idAL renseigné dans le JSON car l’URL se décompose en : « https://www.snpi.immo/annonces-immobilieres-liste/ » + idAL + « /ventes/ » (ou « /locations/ »)

Maintenant que tu es sur la liste des locations ou ventes il te reste juste à récupérer un URL de bien.
Un petit screenshot pour te montrer où le trouver dans le HTML


Qui est le même lien que présenté au tout début du message.

Et enfin il te reste à récupérer les infos sur le lien dans le code HTML un autre screenshot pour trouver l’information :

J’avais prévenu que cette méthode est laborieuse mais du coup tu peux obtenir les numéros de téléphone si tu le souhaites.

PS : Je n’ai pas tout mis dans du code, si quelqu’un se motive c’est automatisable pour chaque agence.

Bonne journée à tous

2 « J'aime »

Super merci :slight_smile:

Salut,

Merci beaucoup pour tous ces renseignements très utiles !!
J’ai bien compris la mécanique, mais je ne sais pas trop quels outils utiliser pour « parser » les données et comment enchainer ces différentes étapes. Pourriez vous me donner quelques pistes d’outils ?

Merci !

@ScrapingExpert as tu réussis à construire un fichier ?

@+

Hello,
Je ne suis pas l’initiateur de ce topic du coup comme je n’ai pas besoin du fichier, j’admets ne pas avoir pris le temps de le faire :slight_smile:

Salut la team ! Merci beaucoup pour vos solutions sur le Captcha ! Désolé je vous réponds avec du retard… j’étais focus sur le boulot !!

Après quelques heures de boulot… 2107 contacts :slight_smile:

Tu cherches dès contacts agences seulement ? Ou tous les professionnels de l’immobilier ?

Salut !

J’ai scrapé une liste d’agents immo sur le site des principaux mandataires (iad, safti, etc).
Au total plus de 30k emails+noms+ville+téléphone, je la mets à dispo si quelqu’un en a besoin !

4 « J'aime »

image

je mets mes scrapers a dispo si certain en ont besoin aussi

Salut Paul,

Cela m’intéresse beaucoup ! Peut tu m’envoyer une copie stp ?

capifrance : https://hastebin.com/wamovixepa.pl
iad : https://hastebin.com/pabicatori.apache (possible de scraper autrement avec l’api et les coordonnées géographiques, mais trop long à implémenter pour moi et leur serveur est trop lent, je suis dispo pour en parler en MP si vous voulez)
safti : https://hastebin.com/uheyularun.apache
optimhome : https://hastebin.com/latakajuxo.pl
la-fourmi : https://hastebin.com/iyixogamah.pl

Capifrance et Optimhome ne retournent pas tous les résultats, Algolia ne renvoie que 1000 hits maximum. Il doit y avoir un moyen de contourner mais j’ai pas cherché plus loin !

3 « J'aime »

Salut ! Pour Optimhome j’ai réussi à scraper l’ensemble des mandataires, ils sont 972 sur toute la France

Dans la continuité, est-ce que quelqu’un peut m’aider à Scraper les données du site termite.com.fr
j’ai besoin des résultats pour chaque ville afin de savoir s’il y a un arrêté ou pas :
https://termite.com.fr/rechercher/resultats-de-votre-recherche

L’objectif c’est d’intégrer ces donnés sur notre marketplace pour automatiser la sélection automatique.

Merci !

Pour Capifrance comment je peux récupérer les données ? (je suis nul en code)