#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""更新 hsq_tztg 的 config：页数 5→3（保证一轮跑完，不饥饿）+ 注释订正（WAF 已不再拦截）。"""
import io
import json
import shutil

P = "/root/gov_crawler/daily_crawl_config.json"
bak = P + ".bak_20260922_hsq"
shutil.copy2(P, bak)

cfg = json.load(io.open(P, encoding="utf-8"))
items = cfg if isinstance(cfg, list) else (cfg.get("scripts") or cfg.get("crawlers"))
hit = 0
for it in items:
    if isinstance(it, dict) and it.get("script") == "crawl_hsq_tztg.py":
        it["args"] = "--pages=3"
        it["timeout"] = 600
        it["note"] = (
            "黄山区政府网 公示公告 龙讯CMS 静态列表+分页/content/column/6794244，"
            "正文wzcon.j-fontContent，playwright+stealth 过盾。"
            "✅ 2026-09-22 复查：WAF 未再拦截，实跑第1页拿到 2026-09-18~09-22 共19条并成功入库"
            "（此前「被长亭 CT2-WAAP 拦死、8 种方案均被拦」的结论已过期，站点已恢复）。"
            "⚠️ 但脚本原有两个问题已修：① stealth 误调 async 版未 await → 隐身从未生效；"
            "② 无时限保护 → 5页×19条×~6.5s≈650s 必然冲破 600s 被杀、当轮白跑。"
            "现加 --deadline=480 兜底 + 页数降到 3（3页≈57条≈445s 可一轮跑完；"
            "注：脚本不跳过已入库条目，页数给大反而会让后段条目永远轮不到）"
        )
        hit += 1
if isinstance(cfg, dict):
    pass
with io.open(P, "w", encoding="utf-8") as f:
    json.dump(cfg, f, ensure_ascii=False, indent=2)
print("已更新 %d 个条目（备份 %s）" % (hit, bak))
for it in items:
    if isinstance(it, dict) and it.get("script") == "crawl_hsq_tztg.py":
        print(json.dumps(it, ensure_ascii=False, indent=2))
