SPB Git forge

spb/lou-ka

Public

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

232commits 1branches 0releases
172.9 MBsize
maindefault branch
2 days agolast push
HTML 98.9% Python 0.6%
5.6 KB

# Urban Services (Urban Tenant Solutions) — connecteur urban_services

Fiche générée automatiquement par scripts/gen_connector_docs.py le 2026-09-04 14:12 — ne pas éditer à la main, régénérer.

État : actif · Région : Outaouais · Backend : direct · Annonces actives : 48/61

# Description de la source

connecteur Urban Services (urbanservices.ca) Gestionnaire de Gatineau (Urban Tenant Solutions) ; portail de location dédié rent.urbanservices.ca sur la plateforme Building Stack — même famille que le portail edifialocation.com du connecteur edifia.py : - /Listing/Listings embarque var units = [...] (une entrée par appartement annoncé : prix, pi², chambres, sdb, adresse complète, GPS, contact de l'immeuble, photo) ; - les pages immeuble /b/ listent TOUTES les unités disponibles (onglets : numéro, prix, pi², chambres, sdb, date de disponibilité, attribut data-unitid) + les commodités de l'immeuble — le JSON de la liste est parfois tronqué (immeubles à fort inventaire), la page /b/ fait donc foi pour l'inventaire et les dates ; le JSON enrichit (GPS, contact…) ; - le fragment /Listing/ApartmentView?id= (cache BD) fournit la GALERIE COMPLÈTE de l'unité (wfiles.buildingstack.com), l'étage, les équipements (plancher, chauffage, wi-fi…) et le bloc « Commentaires » (description libre) — absents de la liste et du HTML des pages. Une annonce Lou-Ka = une unité disponible. Le parc ontarien (Ottawa) est exclu (province != QC). ~17 requêtes par sync (1 + 16 immeubles) + 1 fragment par unité nouvelle/modifiée (cache).

# Accès

  • Type d'accès : pages HTML (rendu serveur)
  • Endpoint de base : https://rent.urbanservices.ca
  • URLs de départ (constantes du module) : https://rent.urbanservices.ca
  • Authentification : aucune — contenu public
  • Pagination : page de liste unique (pas de pagination)
  • Backend anti-bot / rendu : requests direct (session UA LouKaBot, throttling poli)
  • Politesse : 0.6 s entre requêtes, timeout 30 s, User-Agent identifiable LouKaBot/1.0 (+https://www.lou-ka.com/bot)

# Champs récupérés → schéma cible

Le connecteur (direct, pages HTML (rendu serveur)) alimente les colonnes de la table listings. Complétude mesurée en SQL sur les 48 annonces actives ; exemple tiré d'une ligne réelle de la BD.

Colonne listings Contenu Renseignée (actives) Exemple réel
title Titre de l'annonce 100 % 70 Noisetiers — unité 5
address Adresse civique 100 % 70 Rue des Noisetiers, Gatineau, QC J9A 3G9, Canada
city Ville (normalisée) 100 % Gatineau
sector Secteur / quartier 0 % —
unit_type Type d'unité (3½, 4½…) 100 % 4½
price Loyer mensuel ($) 100 % 1 350 $
bedrooms Chambres 100 % 2
bathrooms Salles de bain 100 % 1
area_sqft Superficie (pi²) 71 % 900
availability_date Date de disponibilité 98 % 2027-08-01
lat GPS (lat/lng) 100 % 45.4288304
description Description 100 % Situé au Manoir des Trembles. Buanderie partagée. Wi-Fi inclus. Bien entretenu. 900 pi² —…
images Photos (JSON) 100 % 11 photo(s) — https://wfiles.buildingstack.com/resources/image/Gp9BI79gE3apDN1kKdTOCNTLIr…
amenities Commodités (JSON) 88 % ["Salle de buanderie", "Stationnement extérieur", "Accès à internet inclus", "Plancher : …
details Détails additionnels (JSON) 100 % {"inclusions": {"heating": true, "electricity": true, "internet": true}, "laundry": true,…
url URL de l'annonce source 100 % https://rent.urbanservices.ca/b/202244058702005621807/410794

# Fréquence & budget

  • Cadence observée (médiane des passages OK, sync_log) : ≈ 3.4 h
  • Dernier passage OK : 2026-09-04 08:58 — 42 trouvées, +3 / ~3 / -0
  • Throttling : 0.6 s entre requêtes (constante de classe request_delay)
  • Cache des pages détail (BD detail_cache) : activé — évite de re-visiter les fiches inchangées

# Volumétrie & complétude

  • Annonces en BD : 61 au total, 48 actives
  • Première ingestion : 2026-08-09 · Dernière observation : 2026-09-04
  • Complétude clé (actives) : GPS 100 % · prix 100 % · photos 100 % · description 100 %
  • Runs journalisés (60 derniers) : 60, dont 0 en erreur

# Erreurs connues & dépannage

Aucune erreur dans les 60 derniers runs journalisés.

Rejouer la source seule : python3 run.py sync urban_services · vérifier ensuite sync_log (SELECT * FROM sync_log WHERE source='urban_services' ORDER BY ts DESC LIMIT 5;).

# Licence, attribution & conditions

  • Scraping poli d'annonces publiques (données factuelles : prix, adresse, disponibilité) publiées par le gestionnaire sur son propre site.
  • User-Agent identifiable avec page d'information et contact : LouKaBot/1.0 (+https://www.lou-ka.com/bot; contact@spboucher.ai) ; throttling 0.6 s ; cache détail pour minimiser les requêtes.
  • Chaque annonce affichée sur Lou-Ka pointe vers l'annonce d'origine (colonne url) — la source garde le trafic de conversion.
  • Retrait sur demande : contact@spboucher.ai.

# Historique

  • 2026-08-09 — premières annonces de la source ingérées dans la BD.
  • 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par scripts/gen_connector_docs.py).