SPB Git

spb/lou-ka Public

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

HTML 99.7%
2.9 KB · 37 lines markdown
Rendered Raw Blame History
1# gimcote — GIM Côté inc.2- site: https://gimcote.com/property-type/appartement/3- méthode: html4- annonces: 85 → 855- couverture après (sur 85 annonces): prix 100%, adresse 100%, dispo 100%, superficie 2%, commodités 100%6- fixture: ok · test: ok78## Champs extraits9- Carte liste (Houzez) : titre, adresse Nominatim (rue + secteur), statut (« Disponible dès maintenant »), type d'unité (titre puis étiquette /label/), prix (virgule = milliers), amenities de la carte, galerie complète (`data-images`, URLs pleine taille).10- Fiche détail (nouveau, via `self.detail` + cache BD) :11  - description complète `#property-description-wrap` (1200 c. — inclut le téléphone → `details.contact.phone` dérivé par finalize) ;12  - caractéristiques `#property-features-wrap` fusionnées aux amenities de la carte ;13  - bloc « Détails » structuré (`strong`/`span`) : **Animaux** (→ `pets` : « Chat opéré » → conditions, « Non » → non), **Meublé** (→ `furnished` bool), **Fumeur** (→ `details.smoking`), **Stationnement** (→ `details.parking.available`) ;14  - **lat/lng** depuis le JSON de la carte Houzez (`"lat":"46.81…","lng":"-71.25…"`) — 85/85.1516## Champs indisponibles à la source17- Superficie : quasi jamais publiée (2/85 via mention texte dans la description).18- Date précise de disponibilité : uniquement le statut « Disponible dès maintenant » / « Loué » (les loués sont exclus).19- « Chambre à couchée » / « Salle de bain » / « Étage(s) » exposés mais sans clé canonique `details` (Étage(s) ambigu : étage de l'unité vs nombre d'étages — non retenu).2021## Fragilités22- Thème Houzez : sélecteurs `#property-detail-wrap li strong/span`, `data-images` — sensibles à un changement de thème.23- lat/lng extraits par regex du JSON embarqué de la carte — fragile si Houzez renomme les clés.24- L'adresse Nominatim est verbeuse ; le découpage par virgules reste heuristique.2526## Améliorations apportées27- Ajout des fiches détail avec **cache BD** (`self.detail`, clé = hash de la carte) + budget 150 vraies requêtes (compteur, exception au-delà → pas de cache pollué).28- Description 0 → 85/85 ; `pets` 0 → 85/85 ; `furnished` 0 → 85/85 renseigné (bool) ; `details.smoking`/`parking` structurés ; lat/lng 0 → 85/85 ; contact téléphone dérivé.2930## Échantillon avant/après31- Avant : « Beau studio 1 1/2, St-Roch, WIFI Libre » — 615 $, dispo now, description vide, pets NULL, details {internet, parking}.32- Après : même annonce — pets=non, furnished=oui, smoking=non, lat/lng 46.8171/-71.2568, description complète, inclusions {heating, electricity, hot_water, internet}.33- Après : « Superbe 4 1/2, rue Pie-X Lévis » — pets=conditions (« Chat opéré »), contact.phone 418-655-8281, lat/lng remplis.3435## Lacunes génériques de normalisation observées36- `_PARKING_EXTRA_RE` capture parfois « 0 $ » dans la description → `parking.price: 0.0` peu utile.37