SPB Git

spb/lou-ka Public

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

HTML 99.7%
3.2 KB · 38 lines markdown
Rendered Raw Blame History
1# interrent — InterRent REIT (irent.com)2- site: https://www.irent.com/communities/city/montreal (flux RSC Next.js, 1 requête)3- méthode: json-api (JSON embarqué dans le flux `self.__next_f.push`)4- annonces: 203 → 2035- couverture après (sur 203 annonces): prix 100%, adresse 100%, dispo 100%, superficie 99%, commodités 100%6- fixture: ok · test: ok78## Champs extraits9- amenities : nœud structuré `Amenities.Amenity` (19+ items par communauté) — AVANT : le connecteur lisait `amenities_TextField`, champ inexistant → amenities=[] sur 100% des annonces (bug corrigé, ancien champ gardé en repli)10- inclusions structurées : `Utilities.Utility` (Heat, Water, Hot Water, Hydro…) → details.inclusions{heating, hot_water, electricity, internet, cable} + item « Utilities included: … » dans les amenities11- pets : indicateurs structurés `PetFriendly` / `PetFriendlyCats|SmallDogs|LargeDogs` / `PetFriendlyNotAllowed` → oui/conditions/non (203/203) + `PetDetails` en description12- details.parking : champ `ParkingDetails` (« Indoor Parking: $150 / month ») → available/type/included/price (prix min), + texte en description13- details.contact : `ContactInformation` (téléphone + courriel du bureau de location)14- description : résolution des références texte RSC `$NN` → vraie description de l'immeuble (`BuildingDescription`), + promotion en cours (`Promotions.Title`), + description de la suite15- area_sqft : maintenant explicite depuis `SquareFeet` (structuré) au lieu de dérivé du texte16- déjà extraits : prix (Rate), type (Bedrooms), sdb, dispo (AvailabilityDate), adresse/quartier/GPS (Location), photos + plans d'étage1718## Champs indisponibles à la source19- 1 suite sans SquareFeet20- furnished : non exposé21- textes de la source en anglais (amenities, descriptions) — les règles de normalize.py sont bilingues pour l'essentiel2223## Fragilités24- Dépend du format RSC de Next.js (`self.__next_f.push` + références `$NN:Txxx,`) : un changement de framework/App Router casserait le parsing (couvert par la fixture)25- Le filtre Grand Montréal repose sur la table _GM_CITIES : une nouvelle ville QC d'InterRent serait silencieusement ignorée (comportement voulu)26- Les pseudo-suites « Promotional Price » sans numéro restent exclues ; celles AVEC numéro (ex. « app. XXX1 ») sont conservées telles quelles2728## Améliorations apportées29- Correction du bug amenities (champ inexistant) : 0% → 100%30- pets structuré 0% → 100% (oui 154, conditions/non selon communauté)31- inclusions/parking/contact structurés par communauté32- description réelle de l'immeuble (références RSC résolues) + promotions33- superficie explicite (SquareFeet)3435## Échantillon avant/après36- Trent & Kingsley Plan E AVANT : amenities=[], details={}, pets=None, desc=`578 pi² — 1 sdb — plan 7460 Ch. Kingsley - Plan E`37- Trent & Kingsley Plan E APRÈS : 20 amenities (« Laundry facilities », …, « Utilities included: Heat, Water »), pets=`oui`, details={inclusions{heating}, parking{available, included:false, price:110}, contact{438-476-2316, rentsync-leads@rentclv.com}, elevator, balcony, laundry, storage}, desc=… + `Promotion : Two Months Free*` + description de l'immeuble + stationnement38