SPB Git

spb/lou-ka Public

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

HTML 99.7%
2.7 KB

# rentalys — Rentalys (Gestion locative, Grand Montréal)

  • site: https://location.rentalys.ca/property/ (archives Houzez paginées)
  • méthode: html
  • annonces: 10 → 10
  • couverture après (sur 10 annonces): prix 100%, adresse 100%, dispo 100%, superficie 80%, commodités 100%
  • fixture: ok · test: ok

# Champs extraits

  • Archive : titre, adresse Houzez (, Canada retiré), prix $X,XXX/mois, étiquettes (« Disponible au 1er Juillet » → availability ; autres → amenities), lits/bains/pi² (item-amenities), ville/secteur (mapping arrondissements MTL vs banlieues), vignette.
  • Fiche : galerie complète wp-content (sans miniatures/logos), description bilingue (900 car. — inclut téléphone → details.contact.phone dérivé par finalize()).
  • NOUVEAU — superficie structurée : bloc « Caractéristiques clés » Houzez (libellé .h-area) → area_sqft explicite.
  • NOUVEAU — lat/lng structurés : variable JS houzez_single_property_map (JSON) → lat/lng (validés dans l'enveloppe géographique du Québec). Couverture 100 %.

# Champs indisponibles à la source

  • pets/furnished structurés (dérivés du texte par finalize() : « entièrement meublé », « pas d'animaux »…).
  • Étage, inclusions détaillées en champs dédiés (texte libre de la description seulement).
  • Superficie absente de 2 fiches sur 10 (non publiée à la source).

# Fragilités

  • Thème Houzez : sélecteurs .item-listing-wrap, .h-area, houzez_single_property_map — stables mais liés au thème.
  • L'unité de la superficie n'est pas affichée à la source (nombre seul, icône règle) : pi² supposés (cohérent avec les valeurs 600–1200 observées).
  • Déduplication ville/secteur basée sur des listes statiques d'arrondissements.

# Améliorations apportées

  • Fiches déplacées derrière self.detail(...) (cache BD, clé = hash titre+prix+dispo+étiquettes) + plafond max_details=60 vraies requêtes/sync (_BudgetReached, rien de mis en cache au-delà).
  • area_sqft structuré depuis .h-area (fiabilise les 8 déjà dérivés du texte).
  • lat/lng extraits du JSON de la carte Houzez (0 % → 100 %).
  • Description passée de 600 à 900 caractères (couvre les « Options » : stationnement 100 $/mois → details.parking.price dérivé, et le téléphone → contact).

# Échantillon avant/après

  • AVANT : VERDUN – 4 1/2 dans bâtisse récente | 2177 | 4½ | dispo="Disponible au 1er Juillet" | area 790 (dérivée du texte) | lat NULL
  • APRÈS : VERDUN – 4 1/2 dans bâtisse récente | 2177 | 4½ | idem | area 790 (structurée) | lat 45.45176, lng -73.56852 | details.parking={extérieur, 100$}
  • APRÈS : VERDUN – 4 1/2 en demi sous-sol | pets="non" (dérivé description) | lat/lng présents