SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.0 KB

# la_cour — La Cour Appartements (Saint-Roch, Québec)

  • site: https://lacourappartements.com/plans/
  • méthode: html (sélecteur SVG) + REST WordPress do-selecteur-plans
  • annonces: 20 (sur 159 unités du projet — seules les disponibles sont retenues)
  • couverture (sur 20 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%, étage 100%
  • fixture: ok (22 requêtes) · test: ok (2 verts)

# Champs extraits

  • Sélecteur SVG de /plans/ (plugin do-selecteur-plans, même plateforme que le1070.ca/kwayaweh.ca chez Immostar et que AULA Lévis) : polygones class="disponible" avec data-nom (n° d'unité = external_id stable), data-numero (post-id pour le REST), data-etage, data-type, data-prix. Unités « indisponible » exclues avant toute requête.
  • REST /wp-json/do-selecteur-plans/v1/unite?id=<post-id> par unité disponible : montant (« 1 453 $ » → price_label « 1 453 $ par mois »), superficie_habitable → area_sqft explicite, superficie_terrasse (description), type (« 2½ + bureau »), date_libre (« | Janvier 2027 » → « Libre Janvier 2027 ») sinon a_partir (« Libre le 8 août 2026 »), etat re-vérifié (= disponible).
  • Inclusions PAR UNITÉ (champ REST inclusion) : « Chat ou chien admis* », « Eau chaude », « Électricité », « Air climatisé », « Entrée laveuse/sécheuse »… → amenities réelles, d'où details dérivés (pets, inclusions, ac, washer_dryer_hookup).
  • details.floor (data-etage), details.plan_pdf (plan PDF officiel de l'unité).
  • Images : plan de l'unité (PNG de la galerie REST) en tête + photos jpg/webp de la page /projet/ (logos, lettrages décoratifs et variantes redimensionnées filtrés).
  • Adresse complète du site : 155, rue du Prince-Édouard, Québec, G1K 5V6 (secteur Saint-Roch).

# Champs indisponibles à la source

  • lat/lng : non exposés structurellement (seulement un lien Google Maps) — le géocodeur prend le relais sur l'adresse.
  • meublé : non publié.
  • description marketing par unité : inexistante (description composée type — pi² — terrasse — étage).

# Fragilités

  • Chaque unité apparaît 2 fois dans le HTML (polygone + bouton mobile do1011-btn-unite-mobile) : dédup par n° d'unité.
  • date_libre arrive préfixée « | » (« | Janvier 2027 ») : strip avant composition.
  • ~20 appels REST par sync, mais mis en cache BD via self.detail() (clé = hash des attributs SVG data-prix/type/promotion/étage + classe) : le REST n'est re-frappé que si l'unité change ; garde-fou max_rest_units=90.
  • Un re-design du plugin do-selecteur casserait le parseur (couvert par la fixture) — le code est partagé avec aula.py (AulaConnector hérite de LaCourConnector) : toute correction profite aux deux.

# Échantillon

  • la_cour:104 | La Cour Appartements — Unité 104 | 2½ (« 2½ + bureau ») | 1 453 $ par mois | Libre Janvier 2027 → 2027-01-01 | 777 pi² | étage 1 | 6 inclusions | pets=oui | plan PDF + PNG
  • la_cour:B-201 | bâtiment B (noms d'unités préfixés B-) | uid stable par n° d'unité