Avez-vous déjà essayé d'extraire des données de sites immobiliers, pour vous heurter à un mur de CAPTCHA, de limites de requêtes, de redirections ou de blocages d'adresse IP ? C'est comme faire tout le travail difficile et rester bloqué à la ligne d'arrivée.
Ainsi, que vous soyez un fondateur créant une plateforme de données locatives ou un développeur essayant simplement de rassembler des annonces dans Excel pour en tirer des enseignements, des obstacles comme ceux-ci peuvent faire capoter l'affaire.
Et si l'on pouvait extraire des données immobilières précises et structurées plus facilement, sans les difficultés habituelles, et si plus de 70 000 équipes de développement leur faisaient confiance ? Un rêve, n'est-ce pas ? Pas tout à fait. Découvrez… Crawlbase, le seul outil dont vous aurez besoin pour le web scraping basé sur l'IA.
Voici un court tutoriel sur la façon d'automatiser l'immobilier avec Crawlbase:
Guide étape par étape pour créer un outil d'extraction de données immobilières
Ce guide explique comment extraire les annonces immobilières de deux sites web immobiliers — Succession ou Re/Max En utilisant le Crawlbase Crawling APINous extrairons des données telles que le prix, le nombre de lits, le nombre de salles de bain, la superficie et l'adresse, puis nous les exporterons vers une feuille Excel.

Vous n'avez pas besoin de gérer les proxys, les CAPTCHA ou le rendu JavaScript. Crawlbase Il s'occupe de tout pour vous. Alors, sans plus attendre, commençons.
1. Pré-requis
Avant de commencer, assurez-vous d'avoir :
- Node.js installé
- Un IDE/éditeur de code de votre choix
- A Crawlbase Crawling API jeton → Obtenez-le ici (1000 requêtes gratuites)
- Une compréhension de base de JavaScript/Node (suffisante pour lire des fonctions)
2. Installer les packages requis
Ouvrez votre terminal et exécutez :
1 | npm init -y |
Ces colis contiennent:
- Cheerio : Pour extraire du contenu HTML, comme jQuery
- ExcelJS : Pour écrire des listes dans un fichier Excel
- CrawlbasePour contourner les CAPTCHA, les blocages et les restrictions
3. Créez les fichiers de script et importez les modules requis
Commencez par créer deux nouveaux fichiers pour deux scripts différents. estately.js ou remax.jsVoici à quoi ressemblerait la structure de votre projet :

Ensuite, importez les bibliothèques requises en collant le code suivant en haut :
1 | const Salut = exigent('salut'); |
Ces lignes de code sont nécessaires pour les deux scripts, alors n'oubliez pas de les ajouter.
Voyons maintenant ce qui est différent.
Comme nous avons deux scripts différents pour deux annonces immobilières différentes, voici ce que nous allons faire :
- Nous allons d'abord partager le code fonctionnel complet de chaque script.
- Deuxièmement, vous examinerez le code dans son ensemble et vous l'essayerez.
- Enfin, nous allons examiner le script Estately étape par étape. Comme les deux scripts suivent une structure similaire, comprendre l'un facilitera grandement la compréhension de l'autre.
1. Comment gratter Estately
Ce qu'il fait:
- Consultez les annonces d'Estally à Cape Coral
- Prix, nombre de chambres, nombre de salles de bain, superficie et adresse
- Enregistre tout dans Excel
Ajouter cette fonction :
1 | N'oubliez pas d'ajouter la logique partagée ci-dessus. |
Ouvrez maintenant votre terminal et exécutez la commande suivante : node estately.js, et voyez les résultats :

Le résultat:

2. Comment récupérer des données de Remax
Ce qu'il fait:
- Scrapes Re/Max propose des annonces de location à Los Angeles.
- Prix, nombre de chambres, nombre de salles de bain, superficie et adresse
- Trie par prix et enregistre dans Excel
Ajouter cette fonction :
1 | N'oubliez pas d'ajouter la logique partagée ci-dessus. |
Ouvrez maintenant votre terminal et exécutez la commande suivante : node remax.js, et voyez les résultats :

Les résultats:

Explication étape par étape du script Estately
1. Importer les bibliothèques requises
- Cheerio : Analyse et extrait des données du HTML (comme jQuery).
- exceljs : Permet de créer et d’enregistrer des fichiers Excel.
- CrawlingAPI : provient de Crawlbase pour récupérer/afficher des pages (en particulier des pages dynamiques).
1 | const Salut = exigent('salut'); |
2. Démarrer une IIFE asynchrone
- Une expression de fonction immédiatement invoquée (IIFE) est utilisée pour exécuter immédiatement du code asynchrone.
tryoucatchGère les erreurs d'exécution.
1 | (async () => { |
3. Configurer Crawlbase API et récupération de page Web
- Initialise
CrawlingAPIavec votre jeton API. - Cible les annonces immobilières de Cape Coral, en Floride, sur Estately.
response.bodycontient le contenu HTML de la page.
1 | const API = nouvelle API d'exploration({ jeton: « VOTRE JETON » }); |
4. Charger le HTML avec Cheerio
- Charge le HTML dans Cheerio pour la traversée du DOM :
1 | const $ = Santé.charge(html); |
5. Extraire les données de la propriété
- Trouve toutes les fiches de propriété en utilisant
div.result-item-details. - Pour chaque carte :
- Extrait le prix, puis supprime les symboles $, ,, etc. pour le tri.
priceValue. - Obtient le nombre de lits, de salles de bains et de pieds carrés à partir de
<ul>><li>structure. - Extrait l'adresse.
- Extrait le prix, puis supprime les symboles $, ,, etc. pour le tri.
- Envoie chaque objet de propriété structurée vers le
propertiesTableau.
1 | const propriétés = []; |
6. Trier les propriétés par prix (ordre croissant)
- Garantit que les propriétés les moins chères apparaissent en premier.
1 | .sort((a, b) => a.prixValeur - b.prixValeur); |
7. Crée un fichier Excel et y ajoute des données
- Initialise un nouveau classeur et une nouvelle feuille de calcul Excel :
1 | .sort((a, b) => a.prixValeur - b.prixValeur); |
- Définit les en-têtes de colonnes et les largeurs du fichier Excel :
1 | drap.colonnes = [ |
- Ajoute chaque objet de propriété comme une nouvelle ligne :
1 | .pour chaque((p) => drap.ajouterLigne(p)); |
8. Enregistrer le fichier avec un nom horodaté
- Formate l'horodatage actuel.
- Enregistre le fichier sous un nom unique.
1 | const horodatage = nouvelle Date()toISOString()remplacer(/[:.]/g, «-»); |
9. Journalisation des succès et des erreurs
- Message de succès :
1 | console.enregistrer(✅ Récupéré et enregistré ${properties.length} propriétés à ${filePath}`); |
- Enregistre toute erreur en cas d'échec de la récupération des données :
1 | capture (erreur) { |
Réflexions finales
L'extraction de données immobilières n'est pas forcément une tâche fastidieuse. Grâce à une combinaison de Crawlbase Avec Cheerio et ExcelJS, vous obtenez un flux simple et évolutif qui fonctionne tout simplement.
Au lieu de devoir se défendre contre les CAPTCHA et les bannissements, vous devriez pouvoir créer ce que vous voulez : des outils à forte valeur ajoutée, des tableaux de bord intelligents ou même de simples rapports.
Si vous recherchez un moyen d'extraire de manière fiable des données à partir de sites complexes et protégés, Crawlbase est le seul outil de web scraping dont vous aurez besoin.









