Skip to content
# 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
- 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