SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.8 KB

# simard — Immeubles Simard

# Champs extraits

  • Cartes liste : titre, secteur (badge), puces descriptives, photo.
  • Fiches détail (nouveau, via cache BD self.detail) :
    • bloc specs étiqueté #infos ul : « Nombre de pièces : 4½ » → unit_type, « Prix : $1975 » → prix + price_label exacts (fini le scan du body entier), « Superficie : 902 pi2 » → area_sqft via finalize, « Disponibilité : 1 novembre 2026 » → availability propre ;
    • statut d'entête (« Disponible ») en repli de disponibilité ;
    • « Caractéristiques et inclusions » → amenities réelles (Chauffage inclus, Gym, Interphone, Non-fumeur, Hauteur des plafonds…) au lieu d'un fragment regex « Incluant … » ;
    • description complète (paragraphes sous « Description ») au lieu du og:description ;
    • contact structuré du bloc « Location : » (liens tel:/mailto:) → details.contact (4/5 fiches) ;
    • galerie complète (variantes redimensionnées dédupliquées).
  • Adresse : les titres qui SONT une adresse civique (« 1276-24 Chanoine-Morel ») sont repris en adresse ; les autres fiches n'en publient aucune.

# Champs indisponibles à la source

  • Adresse civique : absente des fiches Trilogia/Arboris/Faubourg (seul le nom de projet + secteur est publié).
  • lat/lng : aucune coordonnée (le lien Google Maps du header pointe le bureau de l'agence).
  • Animaux, meublé, étage : jamais mentionnés.
  • Prix : « Prix sur demande » sur 3 fiches (projets en pré-location Arboris 2027, Trilogia phase 2 2027, Faubourg) — aucun montant à extraire.

# Fragilités

  • Le champ « Superficie » du site contient parfois un type d'unité (« Superficie : 4 ½ » sur la fiche Faubourg) — géré : ajouté aux commodités seulement si une unité de surface est présente, sinon utilisé en repli de unit_type.
  • 3 des 5 « annonces » sont des pages de projet (pré-location) plutôt que des unités : peu de champs à extraire, c'est la réalité de la source.
  • Cache détail calé sur titre+puces de la carte (version v3 dans la clé) : une modification du prix sur la fiche seule (sans changement de carte) ne re-déclenche pas le fetch.

# Améliorations apportées

  • Prix depuis le champ étiqueté du bloc specs (avant : regex sur tout le body avec neutralisation manuelle du « Stationnement; $90.00 » — conservée en repli seulement, sur la description).
  • Superficie 0 % → extraite quand publiée (902 pi² Trilogia 402).
  • Amenities 40 % → 60 % : vraie liste « Caractéristiques et inclusions » (les 2 fiches restantes n'en publient pas).
  • Contact structuré (details.contact) 0/5 → 4/5.
  • Description complète (cap 1200) — le téléphone en fin de description est maintenant capté par finalize pour la 5e fiche.
  • Pages détail via self.detail() (cache BD, plafond max_details=60) au lieu d'un GET par fiche à chaque sync.

# Échantillon avant/après

  • Trilogia- 402 — avant : prix 1975 (scan body), dispo « Disponibilité : 1 novembre 2026 », superficie NULL, amenities regex « chauffage, climatisation, électricité… » ; après : prix 1975 (« $1975 » étiqueté), superficie 902 pi², amenities réelles (Chauffage inclus, Électricité incluse, Gym, Immeuble sécurisé, Interphone, Non-fumeur…), smoking false, contact 418-948-1224.
  • Arboris – Grande Allée Ouest — avant : aucun détail ; après : dispo « Automne 2027 », contact structuré (418-527-7700, arboris@immeublessimard.com).
  • 1276-24 Chanoine-Morel — avant : adresse vide ; après : adresse « 1276-24 Chanoine-Morel » (titre civique), parking intérieur, buanderie, rangement, smoking false.