判断网页编码的方法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抓取京东图书评论数据
Aug 31 Python
Python如何快速上手? 快速掌握一门新语言的方法
Nov 14 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
python实现点对点聊天程序
Jul 28 Python
python Web开发你要理解的WSGI & uwsgi详解
Aug 01 Python
Python3实现发送邮件和发送短信验证码功能
Jan 07 Python
Python Numpy库常见用法入门教程
Jan 16 Python
Python如何使用input函数获取输入
Aug 06 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
Python爬虫之Selenium设置元素等待的方法
Dec 04 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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
改造一台复古桌面收音机
2021/03/02 无线电
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
页面版文本框智能提示JS代码
2009/11/20 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
js Function类型
2011/12/04 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python模块之time模块(实例讲解)
2017/09/13 Python
python采集微信公众号文章
2018/12/20 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
3.12植树节活动总结2014
2014/03/13 职场文书
安全伴我行主题班会
2015/08/13 职场文书
导游词之青岛崂山
2019/12/27 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL