import re,html,json,sys,urllib.parse,subprocess
def busca(q, extra=""):
    url=f"https://www.in.gov.br/consulta/-/buscar/dou?q={urllib.parse.quote(q)}&s=todos&exactDate=all&sortType=0{extra}"
    out=subprocess.run(['curl','-sk','-m','60','-A','Mozilla/5.0',url],capture_output=True).stdout.decode('utf-8','replace')
    m=re.search(r'BuscaDouPortlet_params"[^>]*>\s*(\{.*?\})\s*</script>',out,flags=re.S)
    if not m: return None,[]
    d=json.loads(m.group(1))
    return d.get('totalDocumentos'), d.get('jsonArray') or []
for q in ['"RADIO PRIMEIRA CAPITAL"','"Primeira Capital" Oeiras','"Oeiras" "100,7 MHz"','"canal 264" Oeiras','"06.855.654/0001-83"']:
    tot,arr=busca(q)
    print(f"\n### {q}  -> total={tot}")
    for it in arr[:8]:
        c=re.sub(r'<[^>]+>','',it.get('content') or '')
        print(f"  {it.get('pubDate')} | {it.get('pubName')} | {(it.get('title') or '')[:85]}")
        print(f"     {html.unescape(c)[:190]}")
