判断网页编码的方法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检测是文件还是目录的方法
Jul 03 Python
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
Python中import机制详解
Nov 14 Python
Sublime开发python程序的示例代码
Jan 24 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
Python使用while循环花式打印乘法表
Jan 28 Python
Pandas之ReIndex重新索引的实现
Jun 25 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
python实现坦克大战
Apr 24 Python
opencv 图像轮廓的实现示例
Jul 08 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
Dec 16 Python
Python截图并保存的具体实例
Jan 14 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解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
JS自定义混合Mixin函数示例
2016/11/26 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
Python里字典的基本用法(包括嵌套字典)
2019/02/27 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
匡威德国官网:Converse德国
2019/01/26 全球购物
小学科学教学反思
2014/01/26 职场文书
倡议书格式模板
2014/05/13 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
工伤认定行政答辩状
2015/05/22 职场文书
2015年清剿火患专项行动工作总结
2015/07/27 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android