判断网页编码的方法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解析nginx日志文件
May 11 Python
Python使用django搭建web开发环境
Jun 09 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
手把手教你python实现SVM算法
Dec 27 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Django中如何使用sass的方法步骤
Jul 09 Python
python将字母转化为数字实例方法
Oct 04 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
关于python 跨域处理方式详解
Mar 28 Python
Python虚拟环境venv用法详解
May 25 Python
Python-typing: 类型标注与支持 Any类型详解
May 10 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+ajax 无刷新删除数据
2010/02/20 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
第二篇Bootstrap起步
2016/06/21 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
如何提高数据访问速度
2016/12/26 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
python 中的divmod数字处理函数浅析
2017/10/17 Python
高效使用Python字典的清单
2018/04/04 Python
Python中一些深不见底的“坑”
2019/06/12 Python
Python超越函数积分运算以及绘图实现代码
2019/11/20 Python
pytorch中的自定义数据处理详解
2020/01/06 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
师范应届生语文教师求职信
2013/10/29 职场文书
小学生演讲稿
2014/01/12 职场文书
大跃进口号
2014/06/16 职场文书
道歉的话怎么说
2015/05/12 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
消防安全主题班会
2015/08/12 职场文书
小学语文教师研修日志
2015/11/13 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
MySQL Server 层四个日志
2022/03/31 MySQL