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%
1.4 KB · 37 lines python
Raw Blame History
1import requests, sys, concurrent.futures as cf2URLS = [3 "https://www.alimentsduquebec.com/",4 "https://lesproduitsduquebec.com/",5 "https://signelocal.com/",6 "https://www.metiersdart.ca/",7 "https://mangeonslocal.upa.qc.ca/",8 "https://vinsduquebec.com/",9 "https://cidreduquebec.com/",10 "https://ambq.ca/",11 "https://www.fromagesdici.com/",12 "https://erabledici.ca/",13 "https://www.terroiretsaveurs.com/",14 "https://www.ampq.ca/",15 "https://www.icriq.com/",16 "https://mazonequebec.com/",17 "https://www.donneesquebec.ca/",18 "https://uqmd.ca/",19 "https://www.economusees.com/",20 "https://conseildesarts? no",21]22HDRS={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36"}23def probe(u):24    if " " in u: return (u,"skip","","")25    try:26        r = requests.get(u, headers=HDRS, timeout=15, allow_redirects=True)27        t = r.text.lower()28        plat = []29        for sig,name in [("wp-content","wordpress"),("cdn.shopify","shopify"),("squarespace","squarespace"),("wixstatic","wix"),("drupal","drupal"),("woocommerce","woocommerce")]:30            if sig in t: plat.append(name)31        return (u, r.status_code, r.url, ",".join(plat), len(r.text))32    except Exception as e:33        return (u, "ERR", str(e)[:80], "", 0)34with cf.ThreadPoolExecutor(10) as ex:35    for res in ex.map(probe, URLS):36        print(res)37