判断网页编码的方法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 元类使用说明
Dec 18 Python
python使用自定义user-agent抓取网页的方法
Apr 15 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
Python中with及contextlib的用法详解
Jun 08 Python
利用python批量给云主机配置安全组的方法教程
Jun 21 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
使用Scrapy爬取动态数据
Oct 21 Python
Python如何将函数值赋给变量
Apr 28 Python
PyQt 如何创建自定义QWidget
Mar 24 Python
python简单验证码识别的实现过程
Jun 20 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
php Rename 更改文件、文件夹名称
2011/05/24 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
2017/08/30 Python
tornado 多进程模式解析
2018/01/15 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
python命令 -u参数用法解析
2019/10/24 Python
Python更新所有已安装包的操作
2020/02/13 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
python实现经典排序算法的示例代码
2021/02/07 Python
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
仓管员岗位职责范本
2015/04/01 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
门球健将观后感
2015/06/16 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL