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'
|