spb/lou-ka Public
Lou·Ka — tous les logements à louer du Québec, un seul endroit.
HTML 99.7%
1# forsa — Gestion immobilière Forsa2- site: https://www.gestionforsa.com (Squarespace)3- méthode: html plat — sections « liste » de /logements-disponibles (1 requête/sync) + fiches détail par unité (cache BD, budget 20)4- annonces: 12 (le chalet à la journée de St-Adolphe-d'Howard est exclu : location saisonnière 85-100 $/jour, pas un bail résidentiel)5- couverture (sur 12 annonces): prix 100%, adresse 100%, dispo 100%, type 100%, ville 100%, images 100%, description 100% — superficie/GPS jamais publiés6- fixture: ok (13 requêtes : liste + 12 détails) · test: ok (2 verts)78## Champs extraits9- Page /logements-disponibles : 3 sections Squarespace « liste »10 (2½-3½ / 4½-5½ / maisons de ville & chalet), cartes `li.list-item` :11 - titre `list-item-content__title` « 2 1/2, Joliette - MAINTENANT » →12 unit_type (préfixe, via normalize_unit_type), ville (2e segment) et13 availability (après le tiret ou la 2e virgule, texte source :14 « MAINTENANT », « Septembre », « 1er DÉCEMBRE ») ;15 - description de la carte : 1er paragraphe = adresse civique16 (« 222, rue Lajoie Sud, app. 12 »), paragraphe avec $ = price_label17 brut (« 1 290 $ par mois (2 stationnements) ») ; l'espace de milliers18 est retiré avant parse_price ;19 - bouton « Détails » → page par unité ; le slug d'URL (ex.20 `222-12lajoiesud`) sert d'external_id stable.21- Villes réelles tirées du titre de chaque carte, abréviations développées22 (St-Gabriel → Saint-Gabriel, St-Charles-Borromée → Saint-Charles-Borromée) ;23 une unité est à Montréal (2580A Sherbrooke Est) — conservée telle quelle.24- Fiche détail (cache BD, `self.detail`) : bloc HTML le plus long =25 description riche (ENVIRONNEMENT / LOGEMENT / IMMEUBLE, Inclusions,26 Exclusions — textmine structure au finalize()) + galerie complète27 (img squarespace-cdn, max 30, paramètre ?format= retiré).28- robots.txt : le groupe `User-agent: *` autorise les pages HTML mais29 interdit /api/ et les vues JSON → aucun appel à l'API Squarespace,30 HTML seulement.3132## Champs indisponibles à la source33- Superficie, GPS, animaux/meublé structurés : jamais publiés (les34 inclusions restent dans la description, structurées par textmine).35- Pas de pagination : tout le parc annoncé tient sur une page.3637## Fragilités38- external_id = slug de page créé à la main par l'agence : une annonce39 republiée sous un autre slug devient une nouvelle annonce (acceptable,40 le slug est stable pendant la vie de l'annonce).41- Format du titre non strictement uniforme (« - » vs « , » avant la42 dispo) : le parseur accepte les deux, mais un format inédit laisserait43 availability vide.44- Le prix vit dans un paragraphe libre de la carte : si l'agence déplace45 le $ dans un autre paragraphe, l'adresse et le prix pourraient être46 intervertis (le 1er § sans $ = adresse).4748## Échantillon49- 222-12lajoiesud : 2½, Joliette, 595 $/mois (eau chaude incluse),50 MAINTENANT, 222 rue Lajoie Sud app. 12, 10 photos.51- 165-8maskinonge : 4½, Saint-Gabriel, 1 290 $/mois (2 stationnements),52 165 rue Maskinongé app. 8, 30 photos.53- 2580asherbrookeest : 5½, Montréal, 1 950 $/mois, 2580A rue Sherbrooke54 Est, 23 photos.55