#!/usr/bin/env python3 # -*- coding: utf-8 -*- import re import string from html_table_parser import HTMLTableParser if __name__ == '__main__': with open('origin.html', 'r', encoding='utf-8') as f: text = f.read() p = HTMLTableParser() p.feed(text) # task 1 tables = p.tables for table in tables: letter = table['letter'] rows = table['table'] data = '\n'.join([','.join(row) for row in rows]) with open('csv/%s.csv' % letter, 'w', encoding='utf-8') as f: f.write(data) # task 2 ns = '\n\t\t\t\n\t\t\t

{}

\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t' for s in string.ascii_uppercase[1:]: text = text.replace(ns.format(s), '') with open('all.html', 'w', encoding='utf-8') as f: f.write(text) # task 3 text = text.replace('

A

', '

#

') text = ''.join(text.split('\n')) text = re.sub(r'.*?', '', text, flags=re.S) # remove color lines text = re.sub(r'.*?', '', text, flags=re.S) # remove img under span text = re.sub(r'', '', text, flags=re.S) # remove seperate img text = re.sub(r'(.*?)', r'\g<1>', text, flags=re.S) # remove a with open('color.html', 'w', encoding='utf-8') as f: f.write(text)
国家或地区 中文全称 英文简称 ISO代码