判断网页编码的方法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中实现常量(Const)功能
Jan 28 Python
Python中的choice()方法使用详解
May 15 Python
解决Pycharm运行时找不到文件的问题
Oct 29 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
Django choices下拉列表绑定实例
Mar 13 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 Python
python实现代码审查自动回复消息
Feb 01 Python
python中if嵌套命令实例讲解
Feb 25 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
JavaScript满天星导航栏实现方法
2018/03/08 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
python从sqlite读取并显示数据的方法
2015/05/08 Python
python中zip和unzip数据的方法
2015/05/27 Python
Python冒泡排序注意要点实例详解
2016/09/09 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
PHP开发的一般流程
2013/08/13 面试题
土木工程应届生自荐信
2013/09/24 职场文书
材料物理专业个人求职信
2013/12/15 职场文书
经验交流材料格式
2014/12/30 职场文书
2015年推普周活动总结
2015/03/27 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers