Scraping agences Foncia

Hello la communauté :slight_smile:

Est ce que quelqu’un a déjà réussi à scraper les agences immobilières FONCIA, puis leurs biens en locations ?

Merci pour votre aide ! et bonne journée :slight_smile:

bonjour, pour les annonces çà m’a l’air faisable ils ont une api non sécurisée

https://fnc-api.prod.fonciatech.net/annonces/annonces/search

reste à construire une liste de requetes qui parcours toutes les localisations et toutes les pages de résultats

Hello @MarieGainche

Yes, ça a l’air plus que possible depuis leur site!

Avec une logique comme suit:

  1. parcourir chaque département

    • 01000
    • 02000
      etc.
    • 95000
  2. récupérer les agences

  3. aller sur chaque page d’agence


La requête ressemble à ça:

curl 'https://fnc-api.prod.fonciatech.net/agences/agences/search' \
  -H 'authority: fnc-api.prod.fonciatech.net' \
  -H 'accept: application/json, text/plain, */*' \
  -H 'accept-language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'content-type: application/json' \
  -H 'origin: https://fr.foncia.com' \
  -H 'referer: https://fr.foncia.com/' \
  -H 'sec-ch-ua: "Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: cross-site' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36' \
  --data-raw '{"page":1,"size":150,"filters":{"activites":[],"slug":"caen-14000"}}' \
  --compressed

NB: c’est la partie "slug":"caen-14000" qu’il va falloir remplacer programmatiquement


Et voilà un échantillon d’1 ligne:

Est-ce que le format te plaît?


Je peux te faire rapidement ça avec petit script Python.

Tu peux me contacter par MP, directement via mon profil Malt:

:point_down:

https://www.malt.fr/profile/sashabouloudnine

:smiling_face_with_three_hearts:

1 « J'aime »

Super ! Merci pour l’aide et je reviens vers toi :slight_smile:

1 « J'aime »