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.2 KB

# Apartments.com (CoStar) — connecteur apartments_com

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.

État : actif · Région : Province · Backend : direct · Annonces actives : 615/615

# Description de la source

Apartments.com (CoStar) — réseau US avec un vrai parc québécois (~500 propriétés / 8 400 unités via /qc/, surtout de grands gestionnaires). Le site est verrouillé par Akamai (403 en direct, via Scrapfly ET via Oxylabs — sondé 2026-08-18/22) : le scraping est délégué à l'ACTEUR APIFY MAISON gorgeous_thistle/ka-apartments-com (source : actors/ka-apartments-com de ce repo) qui passe par le Web Unlocker Bright Data — HTML server-rendered, pas de rendu JS. UNE annonce = UNE PROPRIÉTÉ (immeuble) : prix « à partir de » (minimum des plans d'unités), tous les plans dans details["plans"]. Les fiches détail sont lues en FRANÇAIS (/fr/) : description, GPS, commodités, galerie. Cache détail 30 j + CADENCE : l'inventaire CoStar bouge lentement, l'acteur ne tourne qu'aux LOUKA_APTS_INTERVAL_H heures ; entre deux runs on ré-émet les annonces actives depuis la BD (coût 0).

  • Site : https://www.apartments.com
  • Page des annonces : https://www.apartments.com/qc/
  • Secteurs couverts : Toute la province via /qc/ (~500 propriétés / 8 400 unités, grands gestionnaires) — acteur Apify maison ka-apartments-com + Bright Data Web Unlocker
  • Module : louka/connectors/apartments_com.py — classe ApartmentsComConnector

# Accès

  • Type d'accès : API JSON interne du site
  • Endpoint de base : https://api.apify.com/v2
  • URLs de départ (constantes du module) : https://api.apify.com/v2 · https://www.apartments.com/qc/
  • Authentification : aucune — contenu public
  • Pagination : pagination par offset
  • Backend anti-bot / rendu : requests direct
  • Politesse : 1.0 s entre requêtes, timeout 30 s, User-Agent identifiable LouKaBot/1.0 (+https://www.lou-ka.com/bot)

# Champs récupérés → schéma cible

Le connecteur (direct, API JSON interne du site) alimente les colonnes de la table listings. Complétude mesurée en SQL sur les 615 annonces actives ; exemple tiré d'une ligne réelle de la BD.

Colonne listings Contenu Renseignée (actives) Exemple réel
title Titre de l'annonce 100 % Place Du Fort
address Adresse civique 100 % 1411 St Du Fort
city Ville (normalisée) 100 % Montréal
sector Secteur / quartier 0 % —
unit_type Type d'unité (3½, 4½…) 58 % —
price Loyer mensuel ($) 100 % 1 250 $
bedrooms Chambres 66 % 4
bathrooms Salles de bain 23 % 1
area_sqft Superficie (pi²) 2 % —
availability_date Date de disponibilité 33 % now
lat GPS (lat/lng) 68 % 45.49181
description Description 40 % Place du Fort est un immeuble d'appartements situé au cœur de Montréal, une ville inspira…
images Photos (JSON) 100 % 23 photo(s) — https://images1.apartments.com/i2/U8NaqvSrDRFxjRV-gt5W7Q4kjHyqkDFW9FxafM5yi…
amenities Commodités (JSON) 40 % ["Cats Allowed", "Maintenance on site", "Controlled Access", "Elevator", "Laundry Facilit…
details Détails additionnels (JSON) 49 % {"inclusions": {"heating": true, "hot_water": true, "internet": true, "cable": true}, "ap…
url URL de l'annonce source 100 % https://www.apartments.com/fr/place-du-fort-montreal-qc/n28d2cm/

# Fréquence & budget

  • Cadence observée (médiane des passages OK, sync_log) : ≈ 2.8 h
  • Dernier passage OK : 2026-08-25 01:37 — 615 trouvées, +0 / ~0 / -0
  • Throttling : 1.0 s entre requêtes (constante de classe request_delay)
  • Cache des pages détail (BD detail_cache) : activé — évite de re-visiter les fiches inchangées

# Volumétrie & complétude

  • Annonces en BD : 615 au total, 615 actives
  • Première ingestion : 2026-08-22 · Dernière observation : 2026-08-25
  • Complétude clé (actives) : GPS 68 % · prix 100 % · photos 100 % · description 40 %
  • Runs journalisés (60 derniers) : 26, dont 0 en erreur

# Erreurs connues & dépannage

Aucune erreur dans les 60 derniers runs journalisés.

Rejouer la source seule : python3 run.py sync apartments_com · vérifier ensuite sync_log (SELECT * FROM sync_log WHERE source='apartments_com' ORDER BY ts DESC LIMIT 5;).

# Licence, attribution & conditions

  • Scraping poli d'annonces publiques (données factuelles : prix, adresse, disponibilité) publiées par le gestionnaire sur son propre site.
  • User-Agent identifiable avec page d'information et contact : LouKaBot/1.0 (+https://www.lou-ka.com/bot; contact@spboucher.ai) ; throttling 1.0 s ; cache détail pour minimiser les requêtes.
  • Chaque annonce affichée sur Lou-Ka pointe vers l'annonce d'origine (colonne url) — la source garde le trafic de conversion.
  • Retrait sur demande : contact@spboucher.ai.

# Historique

  • 2026-08-22 — premières annonces de la source ingérées dans la BD.
  • 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par scripts/gen_connector_docs.py).