判断网页编码的方法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中获取对象信息的方法
Apr 27 Python
Python字符串特性及常用字符串方法的简单笔记
Jan 04 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
Python利用正则表达式实现计算器算法思路解析
Apr 25 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
Python+selenium 获取一组元素属性值的实例
Jun 22 Python
python3.7 sys模块的具体使用
Jul 22 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
什么是Python变量作用域
Jun 03 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 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
VOLVO车载收音机
2021/03/02 无线电
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
利用jquery写的左右轮播图特效
2014/02/12 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
深入浅析Python字符编码
2015/11/12 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
python实现简单学生信息管理系统
2020/04/09 Python
keras 权重保存和权重载入方式
2020/05/21 Python
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
高中自我鉴定范文
2013/11/03 职场文书
七一建党节慰问信
2015/02/14 职场文书
大学生先进个人主要事迹材料
2015/11/04 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS
pt-archiver 主键自增
2022/04/26 MySQL
基于redis+lua进行限流的方法
2022/07/23 Redis