cromwell — Cromwell Management (site unités : cromwellmontreal.ca)
- site: https://cromwellmontreal.ca/apartments-for-rent-montreal/ (WordPress + thème Houzez)
- méthode: html
- annonces: 12 → 12
- couverture après (sur 12 annonces): prix 100%, adresse 100%, dispo 100%, superficie 100%, commodités 100%
- fixture: ok · test: ok
Champs extraits
- title, address, price_label (« Starting at $1,345/month »), beds/baths, superficie
(« 334 Sq. ft » dans .item-amenities) : cartes liste
.item-listing-wrap. - unit_type : « X 1/2 » du bloc Détails de la fiche (« 1 Bedroom (3 1/2) »), sinon nb de chambres (0.5 = Studio).
- availability : étiquettes de la fiche (
.property-labels-wrap: « Available Now, Promotion 1 Free Month ») + NOUVEAU repli sur « Property Status » du bloc Détails. - amenities : NOUVEAU — liste Features complète de la fiche (
.property-features-wrap li: Balcony, Elevator, Heating, Hot Water, Laundry Room, Parking, Refrigerator, Security Cameras…) fusionnée aux items de la carte + « X Bathroom(s) » du bloc Détails. - sector : NOUVEAU — bloc Adresse de la fiche (« City/ Ville: Montreal, Plateau Mont-Royal ») en repli du parsing de titre/adresse.
- description : bloc Description de la fiche ; images : uploads WP (variantes -NxN exclues).
Champs indisponibles à la source
- Animaux, meublé, date précise de disponibilité (seulement « Available Now » / « Rented »).
- lat/lng : aucune coordonnée dans la page (la carte Houzez n'est pas configurée).
- Inclusions précises au bail : « Heating », « Hot Water » listés comme features sans dire explicitement « inclus » (interprétés centralement comme inclusions — plausible ici).
Fragilités
- Thème Houzez : sélecteurs
.item-listing-wrap,.detail-wrap,.property-features-wrap,.property-labels-wrap— stables tant que le thème ne change pas. - Le vrai site corporatif (cromwellmgt.ca) ne publie pas d'unités ; tout repose sur le site jumeau cromwellmontreal.ca (12 annonces seulement, souvent « starting at » par immeuble).
- Pagination suivie via a[rel=next] ; une seule page actuellement.
- Villes défusionnées (Westmount/Hampstead) détectées par heuristique adresse/titre.
Améliorations apportées
- Fiches détail migrées vers le cache BD
self.detail()(clé = sha1 titre|prix|adresse| amenities de la carte) : les re-syncs ne revisitent plus chaque fiche. - Amenities enrichies par la liste Features complète de la fiche (avant : 3-6 items de carte ; après : jusqu'à ~16 items → inclusions.heating/hot_water, elevator, laundry, parking, ac… dérivés centralement).
- « X Bathroom(s) » et repli « Property Status » extraits du bloc Détails.
- sector depuis le bloc Adresse de la fiche (ex. « Plateau Mont-Royal »).
Échantillon avant/après
Renovated Plateau Studio Apartment
- avant : 1345.0 | Studio | Available Now, Promotion 1 Free Month | now | 334 pi² | details={"appliances":{"fridge":true,"stove":true,"dishwasher":true,"washer_dryer":true},"laundry":true,"parking":{"available":true},"price_from":true} | amenities=[334 Sq. ft, …carte]
- après : 1345.0 | Studio | Available Now, Promotion 1 Free Month | now | 334 pi² | details={"inclusions":{"heating":true,"hot_water":true},"appliances":{…},"elevator":true,"balcony":true,"laundry":true,"parking":{…},"price_from":true} | amenities=[334 Sq. ft, 1 Bathroom(s), Balcony, City Views, Cooking Stove, Dishwasher, Elevator, Fully Renovated, Heating, Hot Water, Laundry Room, Lobby, Microwave, Parking, Refrigerator, Security Cameras]
1 bedroom Apartment on Mount-Royal
- avant : 1525.0 | 3½ | Available Now, Promotion 1 Free Month | now | 700 pi² | details={"appliances":{…},"pool":true,"gym":true,"price_from":true}
- après : 1525.0 | 3½ | idem | now | 700 pi² | details={"inclusions":{"heating":true,"hot_water":true},"appliances":{…},"ac":true,"elevator":true,"balcony":true,"pool":true,"gym":true,…} | amenities enrichies (Features fiche)