SPB Git

spb/lou-ka Public

Lou·Ka — tous les logements à louer du Québec, un seul endroit.

HTML 99.7%
4.3 KB

# 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.project de 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)