html页面一般都会指定一个编码,如何获取到是处理html页面的第一步,因为错误的编码必然带来后面处理的问题。这里我用python的正则表达式写了个:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import re a = [ "<meta http-equiv=" Content - Type " content=" text / html; charset = utf - 8 " />" , '<meta http-equiv=Content-Type content="text/html;charset=gb2312">' , '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">' , '<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />' , '<meta http-equiv="content-type" content="text/html; charset=utf-8" />' , '<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />' , '<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />' ] b = "<meta[ ]+http-equiv=[" ']?content-type["' ]?[ ] + content = [" ']?text/html;[ ]*charset=([0-9-a-zA-Z]+)["' ]?" B = re. compile (b, re.IGNORECASE) for ax in a: r1 = B.search(ax) if r1: print r1.group() print r1.group( 1 ), len (r1.group()) else : print 'not match' |