SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.8 KB

# bribourg — Bri Bourg (Charlesbourg, Vanier, Beauport)

  • site: https://bribourg.com/Logements-a-louer.php (flux RSS DropInBlog + pages d'immeubles)
  • méthode: html (RSS DropInBlog + pages d'immeubles PHP statiques)
  • annonces: 2 → 2
  • couverture après (sur 2 annonces): prix 100%, adresse 100%, dispo 100%, superficie 0%, commodités 100%
  • fixture: ok · test: ok (2 passed)

# Champs extraits

  • Flux RSS DropInBlog (déjà en place) : titre, lien (?p=slug → external_id), adresse (« Adresse : … »), loyer (« Loyer : 860 $ par mois »), disponibilité (« Disponibilité : 1 août 2026 »), caractéristiques (liste <li> : « Chauffé / éclairé / eau chaude », « Entrée laveuse/sécheuse »…), photos DropInBlog, secteur (parenthèse de l'adresse/du titre).
  • Page d'immeuble correspondante (appariée par numéro civique + rue, désormais via self.detail() avec clé = sha1 du contenu RSS) :
    • photos additionnelles (déjà en place) ;
    • code postal (« Code postal : G1M 1T3 ») → ajouté à l'adresse — nouveau ;
    • descriptif de l'immeuble (« Immeuble situé près de Place Fleur-de-Lys… balcons… ») → ajouté à la description ; la normalisation en dérive p. ex. balcony — nouveau ;
    • services à proximité (autobus, centre commercial, école, garderie, parc…) → ajoutés à la description — nouveau.
  • Page principale : liens tel: / mailto: structurés → details.contact{phone: 418-626-4613, email: bribourg@videotron.ca} — nouveau.

# Champs indisponibles à la source

  • Superficie : jamais publiée (ni RSS ni pages d'immeubles).
  • Animaux, meublé, stationnement, étage : non affichés.
  • Année de construction / nombre d'unités : affichés en texte libre non étiqueté sur la page d'immeuble (« 1971 16 UNITÉS ») — non repris pour éviter toute interprétation.

# Fragilités

  • Le flux RSS dépend du blog id DropInBlog détecté dans la page (repli codé en dur) ; si Bri Bourg change de compte DropInBlog, le repli devient invalide.
  • L'appariement annonce → page d'immeuble repose sur numéro civique + mots de la rue dans le nom de fichier PHP ; un renommage de fichier casserait photos/code postal (dégradation douce : l'annonce reste complète côté RSS).
  • Les champs de l'annonce sont du texte semi-structuré (« Adresse : … Loyer : … ») parsé par regex — sensible aux variations de rédaction du gestionnaire.
  • Seulement ~2 annonces actives : peu de couverture de test pour les variantes de format.

# Améliorations apportées

  • Code postal ajouté à l'adresse depuis la page d'immeuble (champ étiqueté).
  • Description enrichie du descriptif d'immeuble et des services à proximité (dérivation de commodités supplémentaires par la normalisation, ex. balcons).
  • Contact du gestionnaire (tel:/mailto:) dans details.contact.
  • Visites des pages d'immeubles mises en cache BD via self.detail() (clé dérivée du contenu RSS de l'annonce).

# Échantillon avant/après

3 ½ à louer (Vanier) – Dès aujourd'hui (860 $, 3½, dispo 1 août 2026)

  • avant : address=510, avenue Claude-Martin, Québec (Vanier), details={"inclusions": {"heating": true, "electricity": true, "hot_water": true}}
  • après : address=510, avenue Claude-Martin, Québec (Vanier), G1M 1T3, details={"inclusions": {…}, "balcony": true, "contact": {"phone": "418-626-4613", "email": "bribourg@videotron.ca"}}, description + « Immeuble : … balcons, fenêtres et porte-patio rénovés … » + services à proximité

3 ½ à louer (Charlesbourg) – Dès aujourd'hui (860 $, 3½)

  • avant : address=1353, boulevard Jean-Talon Ouest, Québec (Charlesbourg), pas de contact
  • après : address=…, G1G 2L5, details={"inclusions": {"heating": true, "hot_water": true}, "appliances": {"washer_dryer_hookup": true}, "contact": {…}}, description enrichie