copley — Groupe Copley
- site: https://www.groupecopley.com/properties (Webflow, pagination ?15d7d54c_page=N)
- méthode: html
- annonces: 52 → 52
- couverture après (sur 52 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%
- fixture: ok · test: ok
Champs extraits
- title, city/neighbourhood, type, bedrooms, bathrooms, prix : champs
fs-cmsfilter-fielddes cartesdiv.property_item(carte liste). - area_sqft : NOUVEAU — bloc « 1573 sqft » de la carte (valeur structurée du CMS).
- lat/lng : NOUVEAU — divs
.data---latitude/.data---longitudeembarquées dans la carte. - availability : bandeau de la carte (« Available »), raffiné par la fiche : le fil d'Ariane expose une variante datée « Available Jun 2026 » (fiche détail).
- amenities : NOUVEAU — liste d'icônes de la fiche (
.property-header_features-item: Laundry, Balcony, Pool, Gym, Storage Locker, Garage…) + caractéristiques principales (.main-features_item: « Heating: Electric », « Cooling: Central Air », « Parking: 1 space », « Backyard ») + « X salle(s) de bain » depuis la carte. - details : NOUVEAU — ac (label structuré « Cooling » non vide) et parking.available (label « Parking ») posés explicitement ; le reste dérivé centralement des amenities.
- description : fiche détail (
.property-header_description). - images : fiche détail (CDN Webflow, variantes responsive « -p-NNN » exclues).
- address : composée « , , QC » (le CMS ne publie que la rue en title).
Champs indisponibles à la source
- Animaux, meublé, étage : jamais affichés.
- Inclusions au bail (chauffage/électricité/eau chaude incluses ou non) : le site affiche le TYPE de chauffage (« Heating: Forced Air »), pas son inclusion dans le loyer.
- Date de disponibilité précise au jour : seulement « Mois AAAA » quand ce n'est pas immédiat.
Fragilités
- Webflow : classes générées (
fs-cmsfilter-field,.data---latitude, paramètre de pagination?15d7d54c_page=) — un re-publish du site peut les changer. - La visibilité conditionnelle Webflow (
w-condition-invisible) est incohérente sur les tags de disponibilité (le JS client corrige à l'affichage) : on préfère la variante datée quand elle existe, sinon « Available ». - Le site mélange Montréal/Toronto/Ottawa : filtre sur city=Montreal (les cartes hors périmètre sont ignorées).
- LACUNE GÉNÉRIQUE : « Cooling: Central Air » n'est reconnu par aucun motif
accentral (contourné ici par un details.ac explicite car le label est structuré) ; « Heating: Forced Air » est interprété centralement comme inclusions.heating=true alors que c'est un type de chauffage — un motif « heating: » ≠ « heating included » serait plus juste.
Améliorations apportées
- Superficie (100% des annonces), salles de bain, lat/lng extraits des cartes.
- Fiches détail migrées vers le cache BD
self.detail()(clé = sha1 prix|dispo|type|pi²) : les re-syncs ne revisitent plus les 52 fiches. - Disponibilité remplie partout (avant : 43/52 vides) — bandeau carte + variante datée fiche.
- Commodités (avant : 0/52) + details.ac / details.parking.
- Adresse enrichie de la ville (avant : rue seule) ; description via le bloc dédié.
Échantillon avant/après
447 Mount Stephen
- avant : 3500.0 | 5½ | dispo="" | date=None | area=None | pets=None | details={} | addr="447 Mount Stephen" | amenities=[]
- après : 3500.0 | 5½ | "Available" | now | 1573 pi² | pets=None | details={"inclusions":{"heating":true},"appliances":{"fridge":true},"balcony":true,"parking":{"available":true},"ac":true} | addr="447 Mount Stephen, Westmount, QC" | amenities=[Laundry, Kitchen Appliances, Light Fixtures, Balcony, Heating: Forced Air, Cooling: Central Air, Parking, Backyard: 2 balconies, 1.5 salle(s) de bain]
2365 Rue des Equinoxes, Suite 515
- avant : 2650.0 | 4½ | dispo="" | date=None | area=None | details={"appliances":{"fridge":true}} | addr="2365 Rue des Equinoxes, Suite 515"
- après : 2650.0 | 4½ | "Available Jun 2026" | now (juin passé) | 1031 pi² | details={…,"ac":true,"parking":{"available":true},"pool":…} | addr="2365 Rue des Equinoxes, Suite 515, Montréal, QC" | amenities=[2 salle(s) de bain, Balcony, Ensuite Bathroom, Garage, Gym, Kitchen Appliances, Laundry, Light Fixtures, Pool, Storage Locker, Heating: Electric, Cooling: Central Air, Parking: 1 space, Backyard]