SPB Git

spb/lou-ka Public

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

HTML 99.7%
2.9 KB

# gimcote — GIM Côté inc.

# Champs extraits

  • 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).
  • Fiche détail (nouveau, via self.detail + cache BD) :
    • description complète #property-description-wrap (1200 c. — inclut le téléphone → details.contact.phone dérivé par finalize) ;
    • caractéristiques #property-features-wrap fusionnées aux amenities de la carte ;
    • bloc « Détails » structuré (strong/span) : Animaux (→ pets : « Chat opéré » → conditions, « Non » → non), Meublé (→ furnished bool), Fumeur (→ details.smoking), Stationnement (→ details.parking.available) ;
    • lat/lng depuis le JSON de la carte Houzez ("lat":"46.81…","lng":"-71.25…") — 85/85.

# Champs indisponibles à la source

  • Superficie : quasi jamais publiée (2/85 via mention texte dans la description).
  • Date précise de disponibilité : uniquement le statut « Disponible dès maintenant » / « Loué » (les loués sont exclus).
  • « 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).

# Fragilités

  • Thème Houzez : sélecteurs #property-detail-wrap li strong/span, data-images — sensibles à un changement de thème.
  • lat/lng extraits par regex du JSON embarqué de la carte — fragile si Houzez renomme les clés.
  • L'adresse Nominatim est verbeuse ; le découpage par virgules reste heuristique.

# Améliorations apportées

  • 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é).
  • 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é.

# Échantillon avant/après

  • Avant : « Beau studio 1 1/2, St-Roch, WIFI Libre » — 615 $, dispo now, description vide, pets NULL, details {internet, parking}.
  • 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}.
  • Après : « Superbe 4 1/2, rue Pie-X Lévis » — pets=conditions (« Chat opéré »), contact.phone 418-655-8281, lat/lng remplis.

# Lacunes génériques de normalisation observées

  • _PARKING_EXTRA_RE capture parfois « 0 $ » dans la description → parking.price: 0.0 peu utile.