判断网页编码的方法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二维码生成库qrcode安装和使用示例
Dec 16 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
python中requests和https使用简单示例
Jan 18 Python
Python线性回归实战分析
Feb 01 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
python编程使用协程并发的优缺点
Sep 20 Python
PyCharm代码回滚,恢复历史版本的解决方法
Oct 22 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
解决python flask中config配置管理的问题
Jul 26 Python
PyCharm刷新项目(文件)目录的实现
Feb 14 Python
用Python将库打包发布到pypi
Apr 13 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根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
Python创建xml文件示例
2017/03/22 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
2017/12/15 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
python使用Geany编辑器配置方法
2020/02/21 Python
Python如何获取文件指定行的内容
2020/05/27 Python
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
运动会广播稿60字
2014/01/15 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
重温入党誓词主持词
2015/06/29 职场文书
物业公司管理制度
2015/08/05 职场文书