SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.1 KB

# huma — HUMĀ Condos locatifs (Edifia)

  • site: https://humalevis.com (phases 1-2 → plans d'étages → fiches d'unités + page contact)
  • méthode: html
  • annonces: 38 → 38
  • couverture après (sur 38 annonces): prix 0%, adresse 100%, dispo 100%, superficie 100%, commodités 100%
  • fixture: ok · test: ok

# Champs extraits

  • availability : date affichée sur la fiche (div.date-unite .date-title, ex. « 1 septembre 2026 »), sinon le champ ÉTAT — availability_date maintenant dérivée correctement (avant : toujours « Disponible » → « now »)
  • area_sqft : explicite depuis le champ libellé « SUPERFICIE DU LOGEMENT » (876 pi², etc.)
  • address : adresse civique de chaque phase depuis la page contact (1221 / 1220, rue de Courchevel, Lévis) — avant vide
  • lat/lng : marqueur Google Maps « HUMĀ condos locatifs » (JSON map_points de la page contact), phase 1
  • amenities : listes réelles des pages de phases (« Services et commodité » + « INCLUSIONS MENSUELLES » préfixées Inclus : + « OPTIONS OFFERTES » suffixées — en option) — avant 2 items codés en dur
  • details.contact : téléphone + courriel du bureau de location (liens tel:/mailto de la page contact)
  • description : étage, modèle, superficies logement/balcon/totale (inchangé)

# Champs indisponibles à la source

  • prix : jamais affiché (ni HTML, ni API) — location sur rendez-vous
  • pets : la phrase « Votre animal est le bienvenu! Informez-vous de notre politique. » est dans les amenities mais n'est pas structurée (voir Fragilités)
  • meublé : non mentionné

# Fragilités

  • ~65 requêtes par sync (2 phases + ~20 étages + ~38 fiches) : dépend du nombre d'unités disponibles
  • Les fiches d'unités sont derrière un redirect 301 (slash final) — suivi automatiquement par requests
  • L'appariement phase→adresse repose sur les titres <h4>HUMĀ phase I/II</h4> de la page contact
  • LACUNE GÉNÉRIQUE (normalize.py) : « Votre animal est le bienvenu » (singulier) n'est pas reconnu par les règles pets (_PETS_YES_RE attend « animaux acceptés/admis/bienvenus » au pluriel) → pets reste None

# Améliorations apportées

  • Date de disponibilité réelle par unité (le connecteur l'ignorait : tout était « Disponible » → « now », maintenant p.ex. 2026-09-01)
  • Superficie explicite (champ structuré) au lieu de la dérivation par texte
  • Adresse civique par phase + GPS + contact depuis la page contact (1 requête de plus)
  • Amenities réelles par phase (15 items dont stationnement intérieur, ascenseurs, bornes VE, inclusions eau chaude/climatisation, options $) au lieu de 2 items codés en dur
  • details enrichis par finalize() : parking{intérieur}, storage, elevator, ac, hot_water, floor

# Échantillon avant/après

  • N°311 AVANT : availability=Disponible→now, address=``, area=876 (dérivée), amenities=2 items codés en dur, pas de GPS/contact
  • N°311 APRÈS : availability=1 septembre 2026→2026-09-01, address=1221, rue de Courchevel, Lévis (Québec) G6W 0V8, area=876 (explicite), 15 amenities réelles, lat/lng=46.7332/-71.2604, contact tél+courriel