SPB Git

spb/lou-ka Public

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

HTML 99.7%
4.8 KB

# brigil — Brigil (Gatineau / Outaouais)

  • site: https://www.brigil.com/searchlisting?province=Quebec (portail Yardi RentCafe)
  • méthode: Firecrawl (get_rendered maison, attente de rendu) — site derrière Cloudflare ; fiches + plans via self.detail() (cache BD) et plafond de rendus
  • annonces: 25 propriétés québécoises après 2 syncs (12 à la 1re sync, la couverture s'étend grâce au cache) sur 52 fiches candidates ; les propriétés d'Ottawa/Ontario sont écartées
  • couverture (sur 25 annonces): adresse 100 %, ville 100 %, type d'unité 100 %, description 96 %, images 100 %, prix 40 % (10/25), superficie 36 %
  • fixture: ok (27 requêtes Firecrawl, 12 annonces) · test: ok (2 verts)

# Cloudflare / Firecrawl (le point technique)

  • curl/requests avec le UA de base.py : 403 « Just a moment… » sur toutes les pages HTML (y compris /sitemap.xml) ; seul robots.txt répond 200. Le contenu est en outre rendu côté client par RentCafe.
  • Firecrawl passe systématiquement (testé sur l'accueil, la recherche, 3 fiches propriété et les pages /floorplans) : POST api.firecrawl.dev/v1/scrape avec waitFor 8–15 s. Le connecteur est donc connectable, patron identique à realstar.py.
  • L'appel Firecrawl passe par self.session.post afin que l'enregistreur de fixtures capture le HTML rendu (rejeu hors-ligne des tests, aucune clé dans le dépôt).
  • robots.txt n'interdit aucune page d'annonces (/refs/, /runtimes/, /js/, /lib/, /dashboard/ seulement).

# Champs extraits

  • Cartes li.property-box : nom (data-property), gamme (Apartment, Aura), fourchette de chambres (2-3 Beds), fourchette de prix ($1,510.00 - $2,285.00), vignette RentCafe, URL de la fiche → external_id = slug de l'URL (jardins-mcconnell, le-columbia).
  • La ville n'est PAS sur les cartes et le portail ne filtre pas côté serveur (?city=Gatineau renvoie les 54 mêmes cartes) : elle est lue sur la fiche, dans l'adresse structurée [itemprop=address] (« 8 rue Arthur-Graveline, Gatineau, QC J9J 2A5 »). Toute fiche dont l'adresse ne nomme pas une ville québécoise desservie (Gatineau, Chelsea, Cantley, Val-des-Monts, Thurso, La Pêche) est écartée — pas d'annonce sans ville confirmée.
  • Plans (div[id^='fp-container-'], sur la fiche ou sur /floorplans) : nom (« 2 Bed 2 Bath », « Penthouse »), chambres, superficie (borne basse de la fourchette), prix « Starting at $1,732.00 ». « Call for details » = prix non publié → None.
  • Prix final = plus bas prix de plan quand il existe, sinon la fourchette de la carte ; libellé « À partir de … » seulement quand la source l'annonce ainsi.
  • Type d'unité = borne basse de la fourchette de chambres (Studio-0 Beds → Studio, 4-4 Beds → 6½+).
  • Description = premiers paragraphes de la fiche ; details.contact.phone = numéro du bureau de location ; images = photos resource.rentcafe.com.

# Champs indisponibles à la source

  • Disponibilité : le rendu RentCafe de Brigil n'expose ni date ni compteur d'unités par plan (contrairement à Realstar) → availability vide, jamais supposée.
  • Secteur (Hull/Aylmer/Buckingham) : renseigné uniquement quand l'adresse le nomme ; le déduire du code postal (J8X = Hull, J9J = Aylmer…) serait une inférence externe → laissé vide (0/25 aujourd'hui).
  • Superficie/prix des immeubles de la gamme « Comfort » (petits immeubles de studios) : le portail affiche « Call for pricing ».
  • Commodités structurées, animaux, meublé : non exposés dans le rendu.

# Fragilités

  • Coût/temps : 1 rendu pour la recherche + 1 à 2 par propriété. Plafond max_renders = 26 par sync (≈ 3,5–5 min) ; le cache BD (clé = contenu de la carte) libère le budget aux propriétés non encore visitées, si bien que la couverture croît d'une sync à l'autre (12 → 25 → …) puis se stabilise sur tout le portefeuille QC.
  • Deux fiches sont explicitement ontariennes par l'URL (/apartments/on/ottawa/…) : écartées sans dépenser de rendu.
  • Dépendance à Firecrawl : sans FIRECRAWL_API_KEY, la sync échoue proprement (erreur enregistrée, autres sources intactes).
  • Le portail est en anglais dans le rendu (« Beds », « Starting at ») : les libellés sont normalisés côté Lou-Ka, mais un passage du site au français changerait les motifs de plans.

# Échantillon

  • brigil:jardins-mcconnell | Jardins McConnell | 8 rue Arthur-Graveline, Gatineau, QC J9J 2A5 | 4½ | À partir de 1 510 $/mois | 1 029 pi² | 20 photos | 819… | Plans : 2 Bed 1 Bath (1 029 pi²) : 1 510 $/mois ; 3 Bed 1 Bath : 1 740 $/mois ; Penthouse 2 Bed…
  • brigil:le-columbia | Le Columbia | 388 Boulevard Saint-Joseph, Gatineau, QC J8Y 0A8 | 3½ | À partir de 1 732 $/mois | 671 pi²
  • brigil:35-rue-pr-vost | 35 rue Prévost | Gatineau | Studio | prix non publié (« Call for pricing »)