SPB Git

spb/fabri-ka Public

Agrégateur de produits québécois — www.fabri-ka.com

HTML 57.9% Python 18.6% TypeScript 15.6% CSS 7.8%
919 B · 20 lines python
Raw Blame History
1import requests, json, time2HDRS={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/126 Safari/537.36"}3vendors={}4page=15while page<80:6    r=requests.get(f"https://www.signelocal.com/products.json?limit=250&page={page}",headers=HDRS,timeout=25)7    ps=r.json().get("products",[])8    if not ps: break9    for p in ps:10        v=p["vendor"]11        d=vendors.setdefault(v,{"vendor":v,"product_types":set(),"n":0,"sample_products":[]})12        d["n"]+=113        if p.get("product_type"): d["product_types"].add(p["product_type"])14        if len(d["sample_products"])<3: d["sample_products"].append(p["title"])15    page+=1; time.sleep(0.3)16for v in vendors.values(): v["product_types"]=sorted(v["product_types"])17print("pages:",page,"vendors:",len(vendors))18with open("data/raw/signelocal_vendors.json","w") as f:19    json.dump(list(vendors.values()),f,ensure_ascii=False,indent=1)20