Skip to content
- site: https://acceslogisgb.com (builder mono-page, HTML plat sans charset déclaré — décodé UTF-8 à la main)
- méthode: html — 1 seule requête par sync (page d'accueil, section « LOGEMENTS DISPONIBLES »)
- annonces: 11 (Sainte-Élisabeth ×2, Joliette ×1, Saint-Ambroise-de-Kildare ×3, Shawinigan ×5 ; 2 cartes mini-entrepôts exclues)
- couverture (sur 11): prix 100 %, type 100 %, dispo 100 % (« Disponible maintenant »), ville 100 %, description 100 %, image 100 % (1/carte), adresse 27 % (publiée seulement quand le n° civique figure au texte)
- fixture: ok (1 requête) · test: ok (2 verts) · sync: 11 ajoutées
- Cartes = colonnes des grilles
div.columnswithgap-02 :
- titre
<p.font-026><b> (« 3 1/2, Rang du Ruisseau, Ste-Élisabeth ») ;
- description
<p.font-014> dont on extrait les de fin :
« Disponible maintenant » → availability, « 1150$ » → price_label
(le « PAR MOIS » résiduel est retiré de la description) ;
- photo relative → URL absolue ;
- unit_type : titre puis repli description (validé par fullmatch, jamais le
titre brut) ; les titres-adresses (« 84 Rue Précieux-Sang ») passent par
la description (« Logement 4 1/2 au 1er étage ») ;
- adresse : motif « situé au <n° civique …> à » de la description, sinon
titre commençant par un n° civique ;
- ville : dictionnaire (Ste-Élisabeth, St-Ambroise-de-Kildare, Joliette,
Shawinigan, Crabtree, Berthierville…) sur titre+description sans accents.
- external_id = slug du titre + repère d'étage de la description
(« demi sous-sol », « 2e étage »…) car les titres se répètent entre étages
d'un même immeuble ; ultime repli = hash du texte (jamais atteint à ce jour).
- Superficie (« 1050 pieds carrés ») : laissée à
finalize() (description).
# Champs indisponibles à la source
- Pages détail, superficies systématiques, GPS, dates de dispo précises
(tout est « Disponible maintenant »), animaux/meublé.
# Fragilités
- Exclusion par mots-clés « entrepôt/commercial/local » : une nouvelle
catégorie hors-logement demanderait un mot-clé de plus.
- Si deux logements identiques (même titre, même étage) coexistaient un jour,
le second recevrait un suffixe hash — id stable tant que le texte l'est.
- Serveur sans charset : si le site migrait d'encodage, l'UTF-8 forcé
casserait visiblement (test fixture).
# Échantillon
- 3-1-2-rang-du-ruisseau-ste-elisabeth : 3½, 2510 Rang du Ruisseau,
Sainte-Élisabeth, 1150 $/mois, disponible maintenant.
- 4-1-2-rue-frigon-a-shawinigan-3e-etage : 4½ neuf, rue Frigon Shawinigan,
1350 $/mois, disponible maintenant.