#!/usr/bin/env python3
"""Analyze zichuan page structure"""
import requests, re, sys
from bs4 import BeautifulSoup
sys.stdout.reconfigure(encoding='utf-8')

url = 'http://www.zichuan.gov.cn/gongkai/channel_c_5f9f696d489871774b4da7e4_n_1605765615.2339/'
headers = {'User-Agent': 'Mozilla/5.0'}
r = requests.get(url, timeout=60, headers=headers)
r.encoding = 'utf-8'
soup = BeautifulSoup(r.text, 'html.parser')

print(f'Size: {len(r.text)}')

# Find the content div
content = soup.find('div', class_='fdzdgknr-right-tab-content')
if content:
    print('fdzdgknr-right-tab-content found!')
    # Find all link + date patterns
    for a in content.find_all('a', href=True):
        href = a.get('href', '')
        txt = a.get_text(strip=True)
        parent = a.parent
        parent_html = str(parent)
        # Find date in parent
        dm = re.search(r'(\d{4}-\d{2}-\d{2})', parent_html)
        date = dm.group(1) if dm else ''
        print(f'  [{date}] {txt[:60]} -> {href[:60]}')
else:
    print('No fdzdgknr-right-tab-content')
    # Try alternative
    alt = soup.find('div', class_='xzzfxx-right-content')
    if alt:
        print('xzzfxx-right-content found!')
        print(alt.get_text(separator='\n')[:1500])

# Find pagination links
print('\nPagination:')
for a in soup.find_all('a', href=True):
    txt = a.get_text(strip=True)
    href = a.get('href', '')
    if txt in ['上一页', '下一页', '首页', '尾页'] or txt.isdigit():
        print(f'  <a href="{href}"> {txt}')
    elif txt == '下一页' or txt == '>':
        print(f'  <a href="{href}"> {txt}')

# Check for Ajax/API url pattern
for script in soup.find_all('script'):
    txt = script.get_text(strip=True)
    if len(txt) > 50:
        m = re.search(r'getList\.\.\.|\.ajax|api|url.*list', txt, re.I)
        if m:
            relevant = txt[m.start():m.start()+300]
            print(f'\nScript with API: {relevant[:300]}')
