SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.0 KB

# elements — Quartier les Éléments

# Champs extraits

  • Fiche d'unité : grandeur (« 3 1/2 » -> 3½), prix (« 1216$ en cession pour octobre 2026 »), disponibilité (mois/année extraits de la ligne de prix), superficie brute/terrasse/totale (description), « Avec boudoir / Avec bureau » (commodité).
  • NOUVEAU — area_sqft explicite depuis « Superficie brute » (structurée à la source). Avant, la normalisation générique prenait le min de toutes les superficies de la description et retournait la TERRASSE (126 pi² au lieu de 890 pi²).
  • NOUVEAU — details.floor depuis le segment /etage-N/ de l'URL de la fiche (structuré).
  • NOUVEAU — details.contact (téléphone + courriel du bureau de location affichés sur chaque fiche).
  • NOUVEAU — commodité « Terrasse » quand la fiche affiche une superficie de terrasse.
  • Adresse du complexe (1432, rue de Jupiter, Lévis), secteur Saint-Romuald, images (plans + galerie uploads).

# Champs indisponibles à la source

  • Inclusions (chauffage, électricité…), électroménagers, animaux, meublé, stationnement : les fiches d'unités n'affichent rien de tel.
  • Adresse civique par phase/immeuble (seule l'adresse du bureau de location est publiée).
  • Coordonnées GPS.

# Fragilités

  • Parsing par regex sur le texte de la page (« Grandeur : », « Prix : », « Superficie … : ») : sensible aux reformulations.
  • La découverte passe par les <area data-available="1"> des plans d'étages interactifs : un changement de plugin de plan casserait la découverte.
  • Le libellé de prix « en cession pour » sert aussi de disponibilité ; si le site change ce format, la date disparaît (repli : « Disponible »).

# Améliorations apportées

  • Correction majeure de la superficie : 126 pi² (terrasse, via min() générique) -> 890/953/952 pi² (superficie brute explicite).
  • Étage structuré dans details.floor.
  • Contact du bureau de location dans details.contact.
  • Commodité « Terrasse » ajoutée quand présente.

# Échantillon avant/après

  • AVANT : Phase 2, unité 105 (3½) | 1216 | 3½ | Disponible (octobre 2026) | 2026-10-01 | 126 pi² | {"balcony": true}
  • APRÈS : Phase 2, unité 105 (3½) | 1216 | 3½ | Disponible (octobre 2026) | 2026-10-01 | 890 pi² | {"balcony": true, "contact": {"phone": "581-922-3334", "email": "info@quartierleselements.com"}, "floor": 1}

# Lacune générique notée

  • parse_area_sqft retourne min() de toutes les superficies trouvées : quand une description contient « Superficie terrasse : 126 pi² » et « Superficie brute : 890 pi² », le générique choisit la terrasse. Contournée ici par un area_sqft explicite ; à corriger dans normalize.py (ex. ignorer les superficies précédées de « terrasse/balcon », ou préférer « brute/habitable »).