SPB Git

spb/lou-ka Public

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

HTML 99.7%
2.6 KB

# roussin — Immeubles Roussin

# Champs extraits

  • Index → pages immeuble ; par immeuble : nom (title), adresse civique (regex, bureau administratif exclu), secteur (Sainte-Foy/Lévis/Beauport…), description (og:description), galerie wp-content, lignes de prix « X ½ à partir de NNN$ » → une annonce par type d'unité.
  • NOUVEAU — commodités : paires icône (iconeGym.jpg…) + widget texte Elementor → amenities fidèles (« Gym », « Eau chaude », « Stationnement intérieur », « Wifi inclus », « Animaux acceptés (20lb et moins) », « Complexe sans fumée », « Ascenseur »…). 0 % → 100 %. finalize() en dérive inclusions/parking/pool/gym/ac/pets/smoking.
  • NOUVEAU — contact : liens tel:/mailto: structurés → details.contact (418-651-9443, info@immeublesroussin.com — contact locatif du gestionnaire, identique pour tous les immeubles).

# Champs indisponibles à la source

  • Disponibilité (aucune unité datée ni compteur « disponible » sur le site).
  • Superficies (aucun pi² publié).
  • Prix exacts par unité (seulement « à partir de » par type — details.price_from=true).
  • lat/lng, étage, meublé.

# Fragilités

  • Amenities dépendent de la convention Elementor « icône + texte court dans le même container » — vérifiée sur 4 gabarits de pages différents.
  • L'adresse vient d'une regex sur le HTML brut (première adresse civique hors « bureau »).
  • Lignes de prix parsées sur le texte de page (PRICE_LINE_RE) : sensible aux reformulations.

# Améliorations apportées

  • Extraction des commodités Elementor (icône+texte), propagées à chaque annonce de type d'unité de l'immeuble.
  • details.contact (téléphone + courriel) depuis les liens structurés.
  • Fixture (10 requêtes) + tests ok.

# Échantillon avant/après

  • AVANT : L'Aromate — 3½ | 1595 | amenities=[] | details={"price_from": true}
  • APRÈS : L'Aromate — 3½ | 1595 | amenities=["Gym","Eau chaude","Terrasse sur le toit","Stationnement intérieur","Wifi inclus","Piscine",…] | details={inclusions:{hot_water,internet}, ac, pool, gym, parking:{intérieur, inclus}, contact:{phone,email}, price_from}
  • APRÈS : Lallie — Loft | pets="oui" (source : « Animaux acceptés (20lb et moins) » — voir lacune générique : la limite de poids devrait donner "conditions").