brochu — Groupe Immobilier Brochu
- site: https://groupeimmobilierbrochu.com/projets/ (+ pages projet)
- méthode: html (liste + pages détail avec cache BD)
- annonces: 7 → 7 (une par projet/immeuble, slugs stables)
- couverture après (sur 7 annonces): prix 57% (3 projets sans prix affiché), adresse 100%, dispo 100%, superficie 0% (non publiée), commodités 86% (Le Pilier n'a pas de liste à puces)
- fixture: ok · test: ok
Champs extraits
- title, sector, availability (repli), price_label/unit_type (« 1195$ pour 4 1/2 ») : cartes
div.projectde la page liste (thème UIkit) - availability : NOUVEAU — texte de l'encadré « Statut » de la page projet (
div.uk-alert-primary p, ex. « Disponible dès maintenant ou automne 2026 ») au lieu du label court de la carte - address : NOUVEAU — lien Google Maps du projet (hors pied de page, qui porte l'adresse du bureau) au lieu d'une regex fragile sur le texte global ; gère « 6275 et 6375 boulevard… »
- description : NOUVEAU — paragraphes de la colonne principale (
div.uk-width-3-5@m) incluant la note « * Les chiens ne sont pas permis dans nos propriétés » ; remplace og:description tronquée - amenities : NOUVEAU — liste à puces de la page projet (comptoirs de granit, stationnement intérieur inclus, ascenseurs, air climatisé, interphone, chute à déchets…) → dérive ac, elevator, parking{type, included}, storage, inclusions
- details.contact : NOUVEAU — téléphone de l'encadré « Visite sur rendez-vous » + courriel protégé Cloudflare décodé depuis
data-cfemail(structuré) — chaque projet a son courriel dédié (info@lasentinellelevis.com, info@lepilierlevis.com…) - images : galerie wp-content (inchangé, déplacé dans la page détail cachée)
Champs indisponibles à la source
- Superficies (aucun pi² publié), inventaire unité par unité (une annonce = un immeuble/projet)
- Prix pour Le Pilier, La Sentinelle et Promenade des Forts (renvoient à leurs micro-sites)
- Politique chats/meublé ; la mention chiens est un texte libre (voir Fragilités)
Fragilités
- Sélecteurs UIkit (
div.project,.uk-alert-primary,div.uk-width-3-5@m,.uk-panel.uk-background-muted) — dépendants du thème WordPress/UIkit - Le pied de page contient l'adresse du bureau (700, rue des Grands-Jardins) avec le même type de lien Maps : l'extraction exclut explicitement
footer - Courriels protégés Cloudflare : si la protection change de format, le décodage
data-cfemailéchoue (silencieusement) - Pages détail via
self.detail(): la clé de cache = sha1 de la carte liste ; un changement fait sur la page projet SANS retouche de la carte liste ne sera pas revu (compromis accepté) - Lacune générique de normalisation : « Les chiens ne sont pas permis dans nos propriétés » n'est reconnue ni par _PETS_NO_RE ni par _PETS_COND_RE → pets reste None alors que la source affirme « conditions » (chiens interdits). Motif suggéré :
chiens? .*(pas|non) (permis|admis|acceptes)→ « conditions »
Améliorations apportées
- Visite des pages projet déplacée derrière le cache BD
self.detail()(clé = hash de la carte liste) — plus de re-crawl systématique des 7 pages à chaque sync - Disponibilité riche (encadré Statut), adresse fiable via lien Maps, description complète, commodités réelles, contact structuré (téléphone + cfemail décodé)
- Correction : l'adresse du bureau du groupe n'est plus prise pour celle du projet (Le Pilier)
Échantillon avant/après
le-pilier — avant :
∅ | (type ∅) | Libre novembre 2026 | 2026-11-01 | area=∅ | pets=∅ | {} | 1275 rue J.-B.-Demers Lévis
après :
∅ | (type ∅) | Très récent : novembre 2026 | 2026-11-01 | area=∅ | pets=∅ | {"contact": {"phone": "418-836-7666", "email": "info@lepilierlevis.com"}} | 1275 rue J.-B.-Demers Lévis (QC) G6W 0X9 + description complète
la-sentinelle — avant :
∅ | 3½ | Disponible dès maintenant ou automne 2026 | now | area=∅ | pets=∅ | {} | 7002, boulevard Guillaume-Couture, Lévis (amenities=[])
après :
∅ | 3½ | Disponible dès maintenant ou automne 2026 | now | area=∅ | pets=∅ | {"ac": true, "elevator": true, "parking": {"available": true, "type": "intérieur", "included": true}, "contact": {"phone": "418-741-3737", "email": "info@lasentinellelevis.com"}} | 7002, boulevard Guillaume-Couture, Lévis (10 amenities)