import base64, json, re, urllib.request, time
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
S="https://studiosoft.id"
def get(p):
    r=urllib.request.Request(S+p, headers={"Authorization":f"Basic {AUTH}","User-Agent":"Mozilla/5.0"})
    for _ in range(3):
        try:
            with urllib.request.urlopen(r,timeout=120) as x: return json.loads(x.read())
        except Exception as e:
            print("err",e); time.sleep(4)
    return {}
print("root:", json.dumps({k:v for k,v in get("/wp-json/").items() if k in ("timezone_string","gmt_offset","name")}, ensure_ascii=False))
for pid in (9288, 9296, 9196):
    d = get(f"/wp-json/wp/v2/posts/{pid}?context=edit&_fields=id,slug,title,content,meta,date,status,categories")
    raw = (d.get("content") or {}).get("raw","")
    print("\n===", pid, d.get("slug"), "|", d.get("status"), d.get("date"), "| cat", d.get("categories"))
    print("   kata:", len(re.sub(r"<[^>]+>"," ",raw).split()))
    wa = re.findall(r"<p style=\"text-align:center[^>]*>.{0,400}?</p>", raw, re.S)
    print("   tombol:", wa[:1])
    print("   meta:", json.dumps({k:v for k,v in (d.get("meta") or {}).items() if "yoast" in k}, ensure_ascii=False)[:300])
    print("   h2:", len(re.findall(r"<h2", raw)), "faq:", "FAQPage" in raw)
