SPB Git forge

spb/food-ka

Public

Food-Ka — agrégateur de produits d'épicerie du Québec — www.food-ka.com

55commits 1branches 0releases
10.2 MBsize
maindefault branch
9 days agolast push
Python 53.9% TypeScript 24% CSS 14.9% JavaScript 5.8% HTML 1.4%
3.1 KB

# Famille render-js — Catalogues SPA — Scrapfly avec rendu JavaScript

Généré automatiquement par scripts/gen_connector_docs.py — ne pas éditer à la main.

# Vue d'ensemble

  • Sources membres : 3
  • Produits actifs (BD) : 963

# Sources membres (BD live)

Source Nom Tech Région Produits actifs En rabais Dernier sync Statut
adonis Marché Adonis Marque blanche Instacart — Scrapfly avec rendu JavaScript Grand Montréal et Québec 513 351 2026-08-18 02:39 OK (370 trouvés)
costco Costco Canada Next.js derrière Akamai — Scrapfly avec rendu JavaScript Tout le Québec (livraison) 321 0 2026-08-18 02:48 OK (314 trouvés)
loco Épiceries LOCO Square Online (SPA) — Scrapfly avec rendu JavaScript Montréal (zéro déchet) 129 0 2026-08-18 02:53 OK (129 trouvés)

# Complétude des champs (produits actifs, N = 963)

Champ % rempli
Prix 100.0 %
Prix régulier 36.4 %
Format (size_label) 81.7 %
Prix unitaire 77.8 %
Marque 0.0 %
Images 100.0 %
Nutrition OFF (details.off) 0.0 %

# Gotchas

  • Le rendu JavaScript Scrapfly est encore plus coûteux que l'ASP simple : nombre de pages par catégorie plafonné, syncs espacés.

# Mécanique par source (en-têtes des modules)

# adonis — Marché Adonis

Plafonds/env : —

Boutique Instacart en marque blanche (SPA React) : rendu JavaScript via Scrapfly + attente des cartes produit a[data-item-card-button]. Les prix s'affichent sans session (adresse de livraison par défaut d'Instacart) — prix courant et prix d'origine exposés en texte lecteur d'écran (« Current price: … » / « Original Price: … »). Collections : /store/adonis/collections/{slug} (~20 produits rendus/page).

# costco — Costco Canada

Plafonds/env : —

Nouveau catalogue Next.js (App Router) derrière Akamai : les tuiles produit sont montées côté client — rendu JavaScript via Scrapfly + attente du sélecteur [data-testid^="ProductTile"]. Chaque page feuille (ex. crackers) affiche une grille de tuiles avec prix ; les pages « rayon » (ex. snacks) ne contiennent que des vignettes de sous-catégories, on cible donc les feuilles directement. Numéro d'article Costco = id dans l'URL produit. ⚠️ Le frais (produce, dairy, meat…) est « Warehouse Only » : aucun prix en ligne (« Warehouse pricing may vary ») — on ne couvre que l'épicerie livrée (Costco Grocery, non périssable) et on ignore les tuiles sans prix.

# loco — Épiceries LOCO

Plafonds/env : —

Square Online (SPA Vue) : aucun prix dans le HTML statique ni d'API catalogue publique — les grilles /shop// sont rendues côté client. Stratégie : Scrapfly render_js sur une sélection de catégories alimentaires (?limit=120, une page suffit : ~176 produits alimentaires au total), cartes div.product-group (titre p.w-product-title, prix « $7.30 »).

# Erreurs de synchronisation récentes

Aucune erreur dans le sync_log pour les sources de cette famille.