#!/usr/bin/env python3
import csv, urllib.request, re, sys
from datetime import datetime

def scrape_tables(url, prefix='scraped'):
    req = urllib.request.Request(url, headers={'User-Agent':'Mozilla/5.0'})
    with urllib.request.urlopen(req, timeout=20) as r:
        html = r.read().decode('utf-8', errors='ignore')
    tables = re.findall(r'<table[^>]*>(.*?)</table>', html, re.DOTALL|re.I)
    saved = []
    for i, table in enumerate(tables):
        rows = re.findall(r'<tr[^>]*>(.*?)</tr>', table, re.DOTALL|re.I)
        data = []
        for row in rows:
            cells = re.findall(r'<t[dh][^>]*>(.*?)</t[dh]>', row, re.DOTALL|re.I)
            data.append([re.sub(r'<[^>]+>', '', c).strip() for c in cells])
        if data:
            fname = f"{prefix}_table_{i+1}_{datetime.now().strftime('%Y%m%d')}.csv"
            with open(fname, 'w', newline='', encoding='utf-8') as f:
                csv.writer(f).writerows(data)
            saved.append(fname)
    return saved

if __name__ == '__main__':
    files = scrape_tables(sys.argv[1], sys.argv[2] if len(sys.argv)>2 else 'scraped')
    print(f"Saved {len(files)} tables: {files}")
