import base64, json, re, urllib.request

AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
h = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}
r = urllib.request.Request(
    "https://studiosoft.id/wp-json/wp/v2/posts?include=2980,2972,2975,8067&status=any&context=edit"
    "&_fields=id,slug,status,date,title,content,meta", headers=h)
d = json.loads(urllib.request.urlopen(r, timeout=180).read())
for p in d:
    raw = p["content"]["raw"]
    teks = re.sub(r"<[^>]+>", " ", re.sub(r"<script.*?</script>", " ", raw, flags=re.S))
    teks = re.sub(r"\s+", " ", teks)
    h2 = re.findall(r"<h2[^>]*>(.*?)</h2>", raw, flags=re.S)
    print(f"#{p['id']} [{p['status']}] {p['date'][:10]} {len(teks.split())} kata")
    print(f"  judul: {p['title']['raw']}")
    print(f"  slug : {p['slug']}")
    print(f"  fokus: {(p.get('meta') or {}).get('_yoast_wpseo_focuskw')}")
    print(f"  desc : {(p.get('meta') or {}).get('_yoast_wpseo_metadesc')}")
    print("  h2:", " | ".join(re.sub(r"<[^>]+>", "", x).strip()[:60] for x in h2))
    print("  buka:", teks[:320])
    print()
