spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# ledomaine — Les Habitations Le Domaine (Mercier, Montréal)2- site: https://www.ledomaine.ca/ (pages /appartement/<typologie>/)3- méthode: html (micro-site WordPress, une page par typologie)4- annonces: 5 → 55- couverture après (sur 5 annonces): prix 100%, adresse 100%, dispo 0%, superficie 0%, commodités 0%6- fixture: ok · test: ok (2 passed)78## Champs extraits9- Par typologie (2½, 3½, 4½, 4½ sous-sol, 5½) : titre h1, type d'unité, prix « À partir de NNN $/mois » (meta description ou corps), description complète du bloc « Description de l'appartement » (inclusions « rien d'inclus », entrée laveuse/sécheuse, planchers bois franc, balcon/pas de balcon, rangement, « Les animaux sont interdits », téléphone), galerie photos + plan (8 à 46 images).10- Adresse et secteur constants du micro-site (2990, Avenue de Granby, Mercier–Hochelaga-Maisonneuve).11- Dédup des alias (/appartement-2/ → canonical).12- `details.contact.phone` dérivé de la description (514-256-9037).1314## Champs indisponibles à la source15- **Disponibilité** : jamais publiée (« Pour connaître les disponibilités, veuillez communiquer avec nous ») → availability="" honnête.16- **Superficie** : jamais publiée.17- **Unités individuelles** : le site n'expose que des typologies « à partir de », pas d'inventaire d'unités.18- lat/lng : la page « Situer » contient un LatLng(45.400994, -71.882428) qui pointe… vers Sherbrooke (valeur par défaut du thème) — non utilisé.19- Pas de liste de commodités structurée (tout est en prose dans la description) → amenities=[] ; les détails sont dérivés de la description par normalize.2021## Fragilités22- Prix uniquement dans du texte libre (meta description / corps) via regex « à partir de NNN $ ».23- La page ne dit pas si une typologie est réellement disponible — les 5 pages existent en permanence.24- Site à ~5 pages : tout changement de gabarit WP casse les regex ; l'extraction de description a maintenant un chemin structurel (.text-wrapper) + repli textuel.2526## Améliorations apportées27- Extraction de la description rendue **structurelle** (paragraphes du `.text-wrapper` sous le h2 « Description de l'appartement ») avec repli sur l'ancien découpage regex — capture désormais garantie de la politique animaux et de « rien d'inclus » même si l'ordre des blocs change.28- Audit complet de la source (pages typologies, /nos-services/, /situer-le-domaine/, wp-json) : confirmé qu'aucune donnée additionnelle exploitable n'existe (pas d'API, pas de coordonnées valides, pas de disponibilité).2930## Échantillon avant/après31**Appartement 2 et demi** (660 $ « à partir de »)32- avant : description tronquée par regex texte, details=`{"appliances":{"washer_dryer_hookup":true},"balcony":true,"contact":{…},"price_from":true}`33- après : description structurelle identique mais robuste ; mêmes champs (la source n'offre rien de plus) — `balcony:true` reste un faux positif de normalisation (voir ci-dessous)3435## Lacunes génériques de normalisation détectées36- « **Pas de balcon** » (2½) déclenche quand même `balcony=true` : la règle `balcony` n'a aucun motif négatif (`pas de balcon|sans balcon|no balcony`).37- « **Les animaux sont interdits** » n'est pas reconnu par `_PETS_NO_RE` (le motif exige « animaux interdits » adjacents ; « animaux **sont** interdits » passe entre les mailles) → pets=None au lieu de "non" sur les 5 annonces.38- « **rien d'inclus** » n'est pas exploité : pourrait valoir `inclusions{heating:false, electricity:false, hot_water:false}`.39