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.1 KB · 25 lines python
Raw Blame History
1import requests, re, collections2HDRS={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/126 Safari/537.36"}3def fetch(u):4    try: return requests.get(u,headers=HDRS,timeout=20).text5    except: return ""6def urls_from(x): return re.findall(r"<loc>\s*(.*?)\s*</loc>", x)7def expand(root, depth=0):8    xml=fetch(root); locs=urls_from(xml)9    if "<sitemapindex" in xml and depth<2:10        out=[]11        for l in locs[:40]: out+=expand(l,depth+1)12        return out13    return locs14for site in ["https://www.ideecadeauquebec.com","https://acheterquebecois.ca","https://distilleriesduquebec.com","https://bieresdemicroduquebec.ca","https://terroiretsaveurs.com"]:15    for sm in ["/sitemap.xml","/sitemap_index.xml","/wp-sitemap.xml"]:16        urls=expand(site+sm)17        if urls:18            pat=collections.Counter()19            for u in urls:20                m=re.search(r"://[^/]+(/[^/]*)", u)21                if m: pat[m.group(1)+"/*"]+=122            print("="*50); print(site+sm, "total:", len(urls))23            for k,v in pat.most_common(14): print(f"  {v:6d}  {k}")24            break25