#!/usr/bin/env python3
import sys, re, subprocess
from bs4 import BeautifulSoup

url = "https://www.shucheng.gov.cn/site/tpl/5186?pid=7367495&id=7367498&organId=6596321"
headers = [
    "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Cookie: __jsluid_s=44466aca9d819cfbd85efd0d77815ac0",
]

cmd = ["curl", "-sL", "--max-time", "15"]
for h in headers:
    cmd.extend(["-H", h])
cmd.append(url)

result = subprocess.run(cmd, capture_output=True, text=True, timeout=30)
html = result.stdout

# Find all IDs
ids = set()
for m in re.finditer(r'<div[^>]*id="([^"]+)"', html):
    ids.add(m.group(1))
print("IDs:", sorted(ids)[:30])

# Find all classes
classes = set()
for m in re.finditer(r'class="([^"]+)"', html):
    for c in m.group(1).split():
        classes.add(c)
print("Classes:", sorted(classes)[:30])

# Check for main content areas
soup = BeautifulSoup(html, "html.parser")
main = soup.find("div", id="main") or soup.find("div", class_="main")
if main:
    print(f"\nMain div: {len(main.get_text(strip=True))} chars")
    for a in main.find_all("a", href=True)[:10]:
        text = a.get_text(strip=True)
        if text:
            print(f"  {a['href'][:60]} | {text[:40]}")

# Find any element with more than 5 links
for div in soup.find_all(["div", "ul"]):
    links = div.find_all("a", href=re.compile(r"content/"))
    if len(links) >= 2:
        print(f"\nContent links in {div.name}:")
        for a in links[:5]:
            print(f"  {a['href'][:60]} | {a.get_text(strip=True)[:40]}")

# Check for iframes
for iframe in soup.find_all("iframe"):
    print(f"\nIframe: {iframe.get('src','')}")
