Python正则表达式匹配HTML页面编码

yipeiwu_com5年前Python基础

html页面一般都会指定一个编码,如何获取到是处理html页面的第一步,因为错误的编码必然带来后面处理的问题。这里我用python的正则表达式写了个:

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'

相关文章

Python之pandas读写文件乱码的解决方法

python读写文件有时候会出现   ‘XXX'编码不能打开XXX什么的,用记事本打开要读取的文件,另存为UTF-8编码,然后再用py去读应该可以了。如果还不行,那...

Kears+Opencv实现简单人脸识别

写在前面:这篇文章也是借鉴了一些前辈的代码和思路写的,代码有些也是复用了别人的。 先说下思路: 1.首先利用Opencv检测出人脸的区域  2.在成功的检测出人脸区域后,将识别...

python连接池实现示例程序

复制代码 代码如下:import socketimport Queueimport threading def worker():    while Tru...

实例讲解python函数式编程

函数式编程是使用一系列函数去解决问题,按照一般编程思维,面对问题时我们的思考方式是“怎么干”,而函数函数式编程的思考方式是我要“干什么”。 至于函数式编程的特点暂不总结,我们直接拿例子来...

在Django中使用Sitemap的方法讲解

sitemap 是你服务器上的一个XML文件,它告诉搜索引擎你的页面的更新频率和某些页面相对于其它页面的重要性。 这个信息会帮助搜索引擎索引你的网站。 例如,这是 Django 网站(h...