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.2 KB

# NexLiving Communities (REIT) — connecteur nexliving

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 / Abitibi-Témiscamingue · Backend : direct · Annonces actives : 11/11

# Description de la source

connecteur NexLiving Communities (residential.nexliving.ca) — REIT pancanadien ; côté Québec : Gatineau (Pointe-Gatineau, Place du Golf, Saint-James, Prado, Nelson-Morin, Progrès, Futaie, Lanctot, JGR), Thurso (Fraser) et Val-d'Or (Roland-Audet). Site Yardi RentCafe derrière Cloudflare (403 direct) : tout passe par Scrapfly (ASP), SANS rendu JS — RentCafe embarque un bloc SEO rendu serveur (#list-view-cards-hidden, li.property-box-hidden) avec nom, adresse complète, lits/sdb/pi², prix « à partir de », téléphone et vignette. Une annonce par propriété (uid = slug RentCafe stable). Pages parcourues : /qc/gatineau/apartments, /qc/thurso/apartments, /qc/val-d'or/apartments — SEULES les fiches /apartments/qc/ passent (les parcs ON et NB du REIT sont exclus), avec la ville réelle par annonce. La fiche propriété (galerie, description) passe par self.detail() (cache BD) avec budget Scrapfly par synchronisation.

# Accès

  • Type d'accès : pages HTML (rendu serveur)
  • Endpoint de base : https://residential.nexliving.ca
  • URLs de départ (constantes du module) : https://residential.nexliving.ca
  • Authentification : aucune — contenu public
  • Pagination : page de liste unique (pas de pagination)
  • Backend anti-bot / rendu : requests direct
  • Politesse : 1.0 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 11 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 % Pointe-Gatineau
address Adresse civique 100 % 499 - 541 Rue de Pointe-Gatineau, Gatineau, QC J8T 2B1
city Ville (normalisée) 100 % Gatineau
sector Secteur / quartier 0 % —
unit_type Type d'unité (3½, 4½…) 27 % 5½
price Loyer mensuel ($) 64 % —
bedrooms Chambres 100 % 3
bathrooms Salles de bain 0 % —
area_sqft Superficie (pi²) 91 % 1300
availability_date Date de disponibilité 0 % —
lat GPS (lat/lng) 100 % 45.46682949
description Description 100 % Apartment — 3.0Beds - 3.0Beds — 1.00Baths - 1.00Baths — 1,300 Sq. Ft.
images Photos (JSON) 100 % 20 photo(s) — https://resource.rentcafe.com/image/upload//q_auto,f_auto,w_600,h_400,c_lim…
amenities Commodités (JSON) 0 % []
details Détails additionnels (JSON) 100 % {"contact": {"phone": "819-663-7777"}}
url URL de l'annonce source 100 % https://residential.nexliving.ca/apartments/qc/gatineau/pointe-gatineau/default.aspx

# Fréquence & budget

  • Cadence observée (médiane des passages OK, sync_log) : ≈ 3.4 h
  • Dernier passage OK : 2026-09-04 08:15 — 11 trouvées, +0 / ~1 / -0
  • Throttling : 1.0 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 : 11 au total, 11 actives
  • Première ingestion : 2026-08-25 · Dernière observation : 2026-09-04
  • Complétude clé (actives) : GPS 100 % · prix 64 % · photos 100 % · description 100 %
  • Runs journalisés (60 derniers) : 46, 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 nexliving · vérifier ensuite sync_log (SELECT * FROM sync_log WHERE source='nexliving' 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 1.0 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-25 — 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).