SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.0 KB

# viridi — Le Viridi (Écoquartier Pointe-aux-Lièvres)

  • site: https://condosleviridi.ca/condos-a-louer-quebec/ (+ fiches modèles, + /nous-joindre/)
  • méthode: html
  • annonces: 16 → 16
  • couverture après (sur 16 annonces): prix 100%, adresse 100%, dispo 0%, superficie 100%, commodités 100%
  • fixture: ok · test: ok

# Champs extraits

  • Prix « à partir de » par catégorie (bloc prix de la page liste), type d'unité, 16 modèles (types A à O).
  • Adresse civique réelle : « 40, rue de la Pointe-aux-Lièvres, Québec, QC G1k 0J7 » extraite de la page Nous joindre (avant : libellé vague « Écoquartier Pointe-aux-Lièvres, Québec »).
  • Contact structuré : details.contact {phone 418-626-3070, email info@condosleviridi.ca} depuis les liens tel:/mailto:.
  • Caractéristiques à icônes des fiches modèles parsées génériquement (icône VC + bloc texte) au lieu d'une liste de chaînes codées en dur : chambres, salles de bain, superficie, « Structure en béton | Insonorisation », climatisation, internet, eau chaude, électricité, électroménagers ET « Animaux de compagnie acceptés » (nouveau).
  • pets="oui" (16/16) : caractéristique explicite « Animaux de compagnie acceptés » de la fiche.
  • Description complète (paragraphe « Cette unité... » via le DOM, plus robuste que la regex ligne).
  • Photos des fiches + vignette liste.

# Champs indisponibles à la source

  • Disponibilité (aucune info par modèle : c'est un catalogue de modèles, pas d'unités libres), étage, meublé, lat/lng (lien Google Maps g.page sans coordonnées).

# Fragilités

  • Le bloc de prix de la page liste est du texte séquentiel (catégorie puis « à partir de x$ ») : l'appariement catégorie/prix reste positionnel.
  • Fiches modèles : sélecteur .vc_icon_element + bloc texte suivant (WPBakery) — générique mais dépendant du thème.
  • Pages détail désormais derrière self.detail() (clé = hash titre|url|vignette|prix) avec plafond de 60 vraies requêtes — avant : 16 GET à chaque sync.

# Améliorations apportées

  • Adresse civique + code postal réels (16/16), contact structuré, pets structuré (16/16).
  • Caractéristiques par parsing générique des icônes (capte les items non prévus, ex. animaux, insonorisation).
  • Cache BD des fiches modèles (sync passe de ~11 s à ~0,7 s quand rien ne change).

# Échantillon avant/après

  • Avant : Le Viridi — Studio lumineux (type A) | 1300$ | pets NULL | Écoquartier Pointe-aux-Lièvres, Québec | amenities: 3-8 items codés en dur
  • Après : Le Viridi — Studio lumineux (type A) | 1300$ | pets "oui" | 40, rue de la Pointe-aux-Lièvres, Québec, QC G1k 0J7 | 10 caractéristiques réelles | details+={contact:{418-626-3070, info@condosleviridi.ca}, pets}

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

  • « Animaux de compagnie acceptés » n'est pas reconnu par les règles pets de normalize.py (le motif exige « animaux acceptés » adjacents) — contourné ici par un champ structuré car la fiche l'expose comme caractéristique discrète à icône.