判断网页编码的方法python版

yipeiwu_com6年前Python基础

在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能。我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取。
但是在抓取过程中会遇到编码的问题,那今天我们来看一下如何判断网页的编码:
网上很多网页的编码格式都不一样,大体上是GBK,GB2312,UTF-8等。
我们在获取网页的的数据后,先要对网页的编码进行判断,才能把抓取的内容的编码统一转换为我们能够处理的编码,避免乱码问题的出现。

下面介绍两种判断网页编码的方法:

总结:第二个方法很准确,在网页编码分析的时候用python模块分析内容是最准确的,而使用分析meta头信息的方法是不太准确的。

方法一:使用urllib模块的getparam方法    

import urllib
#autor:pythontab.com
fopen1 = urllib.urlopen('http://www.baidu.com').info()
print fopen1.getparam('charset')# baidu

方法二:使用chardet模块    

#如果你的python没有安装chardet模块,你需要首先安装一下chardet判断编码的模块哦 
#author:pythontab.com
import chardet 
import urllib
#先获取网页内容
data1 = urllib.urlopen('http://www.baidu.com').read()
#用chardet进行内容分析
chardit1 = chardet.detect(data1)
 
print chardit1['encoding'] # baidu

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决Python 遍历字典时删除元素报异常的问题

错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② --...

如何利用python给图片添加半透明水印

如何利用python给图片添加半透明水印

前言 本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 示例代码: # coding:utf-8 f...

Django实现web端tailf日志文件功能及实例详解

Django实现web端tailf日志文件功能及实例详解

这是Django Channels系列文章的第二篇,以web端实现tailf的案例讲解Channels的具体使用以及跟Celery的结合 通过上一篇 《Django使用Channels实...

linux系统使用python获取cpu信息脚本分享

linux系统使用python获取cpu信息脚本分享

linux系统使用python获取cpu信息脚本分享 复制代码 代码如下:#!/usr/bin/env Pythonfrom __future__ import print_functi...

Python实现计算两个时间之间相差天数的方法

本文实例讲述了Python实现计算两个时间之间相差天数的方法。分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime impor...