判断网页编码的方法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实现获取Ip归属地等信息
Aug 27 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
TensorFlow Session会话控制&Variable变量详解
Jul 30 Python
对python多线程与global变量详解
Nov 09 Python
浅谈PySpark SQL 相关知识介绍
Jun 14 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
python爬虫解决验证码的思路及示例
Aug 01 Python
python Pillow图像处理方法汇总
Oct 16 Python
wxPython色环电阻计算器
Nov 18 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
Python接收手机短信的代码整理
Aug 02 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文件操作方法汇总
2015/07/01 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
多广告投放代码 推荐
2006/11/13 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
javascript折半查找详解
2015/01/26 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python 用opencv调用训练好的模型进行识别的方法
2018/12/07 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
详解【python】str与json类型转换
2019/04/29 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
校园歌咏比赛主持词
2014/03/18 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
个人年终总结怎么写
2015/03/09 职场文书
实习指导老师意见
2015/06/04 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
Go语言中的UTF-8实现
2021/04/26 Golang
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL