判断网页编码的方法python版


Posted in Python onAugust 12, 2016

在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实现稀疏矩阵示例代码
Jun 09 Python
在django中使用自定义标签实现分页功能
Jul 04 Python
Python书单 不将就
Jul 11 Python
基于python的字节编译详解
Sep 20 Python
python交互式图形编程实例(一)
Nov 17 Python
简单了解什么是神经网络
Dec 23 Python
使用python将时间转换为指定的格式方法
Nov 12 Python
Python异常处理知识点总结
Feb 18 Python
pytorch 归一化与反归一化实例
Dec 31 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
python MultipartEncoder传输zip文件实例
Apr 07 Python
基于python实现银行管理系统
Apr 20 Python
Python利用IPython提高开发效率
Aug 10 #Python
详解python如何调用C/C++底层库与互相传值
Aug 10 #Python
浅析python中的分片与截断序列
Aug 09 #Python
总结python爬虫抓站的实用技巧
Aug 09 #Python
教你用Type Hint提高Python程序开发效率
Aug 08 #Python
Python如何实现文本转语音
Aug 08 #Python
Python脚本处理空格的方法
Aug 08 #Python
You might like
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
jquery实用代码片段集合
2010/08/12 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
jQuery打字效果实现方法(附demo源码下载)
2015/12/18 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
JS实现图片切换特效
2019/12/23 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python对字符串实现去重操作的方法示例
2017/08/11 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
C语言面试题
2015/10/30 面试题
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
初婚未育证明
2014/01/15 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
小学班主任寄语大全
2014/04/04 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
2014年工程工作总结
2014/11/25 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技