#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests, re, time

URL = "https://sthjj.nantong.gov.cn/truecms/messageController/getMessage.do"
COLUMN = "f53004c4-95fe-476f-8a97-88df5f6e76b3"
HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/125.0 Safari/537.36",
    "Referer": "https://sthjj.nantong.gov.cn/",
    "X-Requested-With": "XMLHttpRequest",
}

for attempt in range(3):
    try:
        r = requests.post(URL, data={"columnId": COLUMN, "page": 2}, headers=HEADERS, timeout=25)
        body = r.text
        print(f"attempt {attempt}: status={r.status_code} len={len(body)}")
        print("HEAD:", body[:300].replace("\n", " "))
        print("TAIL:", body[-300:].replace("\n", " "))
        # count records
        recs = re.findall(r'<record>', body)
        print("records:", len(recs))
        titles = re.findall(r'<a[^>]*>([^<]{4,})</a>', body)
        print("titles:", titles[:5])
        if len(recs) > 0:
            break
        time.sleep(3)
    except Exception as e:
        print(f"attempt {attempt}: ERR {e}")
        time.sleep(3)
