SPB Git forge

spb/rent-ka

Public
8commits 1branches 0releases
7.4 MBsize
maindefault branch
19 days agolast push
Python 68.8% TypeScript 18.6% CSS 8.7% JavaScript 3.3% HTML 0.6%
5.1 KB · 80 lines markdown
Rendered Raw Blame History
1# Hazelview Properties — connecteur `hazelview`23_Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-25 01:59 — ne pas éditer à la main, régénérer._45**État : actif** · Région : Montréal · Backend : direct · Annonces actives : 6/667## Description de la source89connecteur Hazelview Properties (hazelviewproperties.com — ex-Timbercreek). Le site est rendu côté client via l'API RentSync/LiftSystem (lift-api.rentsync.com/v2, client_id 497, jeton public embarqué dans le JS du site). On interroge /v2/cities pour les villes QC (toutes dans le Grand Montréal : Montréal, Verdun, Côte-Saint-Luc, Pointe-Claire, Longueuil...), puis /v2/search par ville et par nombre de chambres pour obtenir les types d'unités disponibles et leur loyer. Une annonce par immeuble et par type d'unité. La page immeuble du site (via cache BD) embarque un JSON complet (attribut data-locations de la carte) : commodités, galerie photos, animaux détaillés, suites.1011- **Site** : https://www.hazelviewproperties.com12- **Page des annonces** : https://www.hazelviewproperties.com/cities/montreal13- **Secteurs couverts** : Centre-ville, Vieux-Port, Plateau14- **Module** : `louka/connectors/hazelview.py` — classe `HazelviewConnector`1516## Accès1718- **Type d'accès** : API JSON interne du site19- **Endpoint de base** : https://lift-api.rentsync.com/v220- **URLs de départ (constantes du module)** : https://assets.rentsync.com/timbercreek_communities/images/gallery/full/ · https://lift-api.rentsync.com/v221- **Authentification** : aucune — contenu public22- **Pagination** : page de liste unique (pas de pagination)23- **Backend anti-bot / rendu** : requests direct (session UA LouKaBot, throttling poli)24- **Politesse** : 0.6 s entre requêtes, timeout 30 s, User-Agent identifiable `LouKaBot/1.0 (+https://www.lou-ka.com/bot)`2526## Champs récupérés → schéma cible2728Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table `listings`. Complétude mesurée en SQL sur les 6 annonces actives ; exemple tiré d'une ligne réelle de la BD.2930| Colonne `listings` | Contenu | Renseignée (actives) | Exemple réel |31|---|---|---|---|32| `title` | Titre de l'annonce | 100 % | 1405 Bishop — Studio |33| `address` | Adresse civique | 100 % | 1405 rue Bishop, Montréal, H4G 2E4 |34| `city` | Ville (normalisée) | 100 % | Montréal |35| `sector` | Secteur / quartier | 0 % | — |36| `unit_type` | Type d'unité (3½, 4½…) | 100 % | Studio |37| `price` | Loyer mensuel ($) | 100 % | 1 425 $ |38| `bedrooms` | Chambres | 100 % | 0 |39| `bathrooms` | Salles de bain | 0 % | — |40| `area_sqft` | Superficie (pi²) | 83 % | — |41| `availability_date` | Date de disponibilité | 100 % | now |42| `lat` | GPS (lat/lng) | 100 % | 45.4968177 |43| `description` | Description | 100 % | Located in a lively, high pedestrian area at the corner of Saint Catherine Street, in pro… |44| `images` | Photos (JSON) | 100 % | 14 photo(s) — https://assets.rentsync.com/timbercreek_communities/images/gallery/full/168… |45| `amenities` | Commodités (JSON) | 100 % | ["24/7 emergency service", "Air conditioner", "AirConditioning", "Bike Friendly", "Certif… |46| `details` | Détails additionnels (JSON) | 100 % | {"appliances": {"fridge": true, "dishwasher": true}, "elevator": true, "laundry": true, "… |47| `url` | URL de l'annonce source | 100 % | https://hazelviewproperties.com/properties/1405-bishop |4849## Fréquence & budget5051- **Cadence observée** (médiane des passages OK, sync_log) : ≈ 2.9 h52- **Dernier passage OK** : 2026-08-24 22:52 — 6 trouvées, +0 / ~0 / -053- **Throttling** : 0.6 s entre requêtes (constante de classe `request_delay`)54- **Cache des pages détail (BD `detail_cache`)** : activé — évite de re-visiter les fiches inchangées5556## Volumétrie & complétude5758- **Annonces en BD** : 6 au total, **6 actives**59- **Première ingestion** : 2026-08-06 · **Dernière observation** : 2026-08-2460- **Complétude clé (actives)** : GPS 100 % · prix 100 % · photos 100 % · description 100 %61- **Runs journalisés (60 derniers)** : 60, dont 0 en erreur6263## Erreurs connues & dépannage6465Aucune erreur dans les 60 derniers runs journalisés.6667Rejouer la source seule : `python3 run.py sync hazelview` · vérifier ensuite `sync_log` (`SELECT * FROM sync_log WHERE source='hazelview' ORDER BY ts DESC LIMIT 5;`).6869## Licence, attribution & conditions7071- Scraping poli d'annonces **publiques** (données factuelles : prix, adresse, disponibilité) publiées par le gestionnaire sur son propre site.72- User-Agent **identifiable** avec page d'information et contact : `LouKaBot/1.0 (+https://www.lou-ka.com/bot; contact@spboucher.ai)` ; throttling 0.6 s ; cache détail pour minimiser les requêtes.73- Chaque annonce affichée sur Lou-Ka **pointe vers l'annonce d'origine** (colonne `url`) — la source garde le trafic de conversion.74- Retrait sur demande : contact@spboucher.ai.7576## Historique7778- 2026-08-06 — premières annonces de la source ingérées dans la BD.79- 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par `scripts/gen_connector_docs.py`).80