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

yipeiwu_com6年前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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)

不过,status中包含了一个mid字段,通过mid,我们实际上是可以通过计算得到url的。 在开始计算之前有必要说明一下,什么是base62编码。它实际上就是十进制和62位进制的互换。...

python集合的创建、添加及删除操作示例

本文实例讲述了python集合的创建、添加及删除操作。分享给大家供大家参考,具体如下: 集合时无序可变的序列,集合中的元素放在{}内,集合中的元素具有唯一性。 集合中只能包含数字、字符串...

python 实现在tkinter中动态显示label图片的方法

python 实现在tkinter中动态显示label图片的方法

在编程中我们往往会希望能够实现这样的操作:点击Button,选择了图片,然后在窗口中的Label处显示选到的图片。那么这时候就需要如下代码: from tkinter import...

python防止随意修改类属性的实现方法

如果不想允许随意修改一个类的某个属性,常用的方法是使用property装饰器以及在属性前加下划线。 class V: def __init__(self, x): se...

Python编程图形库之Pillow使用方法讲解

Python编程图形库之Pillow使用方法讲解

PIL vs Pillow PIL: Python Imaging Library,是python的图像处理库。由于PIL不兼容setuptools,再加上更新缓慢等因素,Alex Cl...