Skip to content
# 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).
- 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 »)