spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# simard — Immeubles Simard2- site: https://immeublessimard.com/a-louer/categorie/appartement/ (+ fiches /a-louer/appartement/<secteur>/<slug>/)3- méthode: html4- annonces: 5 → 55- couverture après (sur 5 annonces): prix 40%, adresse 20%, dispo 100%, superficie 20%, commodités 60%6- fixture: ok · test: ok78## Champs extraits9- Cartes liste : titre, secteur (badge), puces descriptives, photo.10- Fiches détail (nouveau, via cache BD self.detail) :11 - **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 ;12 - statut d'entête (« Disponible ») en repli de disponibilité ;13 - **« Caractéristiques et inclusions »** → amenities réelles (Chauffage inclus, Gym, Interphone, Non-fumeur, Hauteur des plafonds…) au lieu d'un fragment regex « Incluant … » ;14 - **description complète** (paragraphes sous « Description ») au lieu du og:description ;15 - **contact structuré** du bloc « Location : » (liens tel:/mailto:) → details.contact (4/5 fiches) ;16 - galerie complète (variantes redimensionnées dédupliquées).17- Adresse : les titres qui SONT une adresse civique (« 1276-24 Chanoine-Morel ») sont repris en adresse ; les autres fiches n'en publient aucune.1819## Champs indisponibles à la source20- Adresse civique : absente des fiches Trilogia/Arboris/Faubourg (seul le nom de projet + secteur est publié).21- lat/lng : aucune coordonnée (le lien Google Maps du header pointe le bureau de l'agence).22- Animaux, meublé, étage : jamais mentionnés.23- Prix : « Prix sur demande » sur 3 fiches (projets en pré-location Arboris 2027, Trilogia phase 2 2027, Faubourg) — aucun montant à extraire.2425## Fragilités26- 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.27- 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.28- 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.2930## Améliorations apportées31- 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).32- Superficie 0 % → extraite quand publiée (902 pi² Trilogia 402).33- Amenities 40 % → 60 % : vraie liste « Caractéristiques et inclusions » (les 2 fiches restantes n'en publient pas).34- Contact structuré (details.contact) 0/5 → 4/5.35- Description complète (cap 1200) — le téléphone en fin de description est maintenant capté par finalize pour la 5e fiche.36- Pages détail via self.detail() (cache BD, plafond max_details=60) au lieu d'un GET par fiche à chaque sync.3738## Échantillon avant/après39- 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.40- Arboris – Grande Allée Ouest — avant : aucun détail ; après : dispo « Automne 2027 », contact structuré (418-527-7700, arboris@immeublessimard.com).41- 1276-24 Chanoine-Morel — avant : adresse vide ; après : adresse « 1276-24 Chanoine-Morel » (titre civique), parking intérieur, buanderie, rangement, smoking false.42