python字符串成熟编码_python字符串转公式两种方法获取网页编码python版
在web开发的时候我们经常会遇到网页抓取和分析,各种语言都可以完成这个功能。我喜欢用python实现,因为python提供了很多成熟的模块,可以很方便的实现网页抓取。
但是在抓取过程中会遇到编码的问题,那今天我们来看一下如何判断网页的编码:
网上很多网页的编码格式都不一样,大体上是GBK,GB2312,UTF-8等。
我们在获取网页的的数据后,先要对网页的编码进行判断,才能把抓取的内容的编码统一转换为我们能够处理的编码,避免乱码问题的出现。
下面介绍两种判断网页编码的方法:
方法一:使用urllib模块的getparam方法import urllib
fopen1 = urllib.urlopen('http://www.baidu.com').info()
fopen2 = urllib.urlopen('http://www.002pc.com').info()
print fopen1.getparam('charset')# baidu
print fopen2.getparam('charset')# pythontab
002pc.com认为此文章对《python字符串转公式两种方法获取网页编码python版》说的很在理。
执行结果为:
gbk
None
PS: 呵呵,其实,上面的获取的编码都是不正确的,我们可以自己打开网页查看源代码,发现baidu的是gb2312,而pythontab是utf-8。唉,这个方法确实有点坑爹啊。检测不准确、检测不到,它都占了,所以很不靠谱,下面介绍一个靠谱的方法。
方法二:使用chardet模块#如果你的python没有安装chardet模块,你需要首先安装一下chardet判断编码的模块哦
import chardet
import urllib
#先获取网页内容
data = urllib.urlopen('http://www.002pc.com').read()
#用chardet进行内容分析
chardit = chardet.detect(data)
data1 = urllib.urlopen('http://www.baidu.com').read()
chardit1 = chardet.detect(data1)
print chardit['encoding'] # pythontab
print chardit1['encoding'] # baidu
执行结果为:
utf-8
gb2312
这两个结果都是正确的哦,各位可以去亲自验证一下~~
总结:第二个方法很准确,在网页编码分析的时候用python模块分析内容是最准确的,而使用分析meta头信息的方法是不太准确的。
更多:python字符串转公式两种方法获取网页编码python版
https://www.002pc.comhttps://www.002pc.com/python/4630.html
你可能感兴趣的python,网页,编码,获取,两种,方法
js获取按键的值详解@angular/cli 改变默认启动端口两种方式
因为本地希望开启两个项目,由于@angular/cli 生成项目默认是: 4200; 那么肯定会有端口冲突问题;
修改端口的两种方式:
1 修改 schema.json
node_modules\@
js数字变成 号在页面中引入js的两种方法(推荐)
在页面中引入js有两种基本方式:在页面中嵌入js、引用外部js文件。
一、在页面中嵌入jsW WW.002PC .COM认为此文章对《在页面中引入js的两种方法(推荐)》说的很在理。
这是在
dw怎么插入asputf-8 网页不显示+utf-8网页乱码的通用解决方法
常常会发生这样的问题:在浏览使用UTF-8编码的网页时,浏览器无法自动侦测(即没有设定“自动选择”编码格式时)该页面所用的编码。即使网
False使用mysql_fetch_row()函数逐行获取结果集中的每条记录(PHP操作MySQL数据库的方法六)
使用mysql_fetch_row()函数逐行获取结果集中的每条记录(PHP操作MySQL数据库的方法六)前面我们介绍了两种获取结果集中的数据,那么我们今天给大家介绍第三种获取结果集的mysql_f
php数字从大到小排序php实现json编码的方法
《php数字从大到小排序php实现json编码的方法》总结了关于php前端教程,对于我们来www.002pc.com确实能学到不少知识。本文实例讲述了php实现json编码的方法。分享给大家供大
linux怎么查ipCentOS 修改主机名的两种方法
第二电脑网认为此文章对《linux怎么查ipCentOS 修改主机名的两种方法》说的很在理,电脑技术002pc网为你提供最佳的linux入门,电脑技术。
asp.net 是否 对话框ASP.NET抓取网页内容的实现方法
本文实例讲述了ASP.NET抓取网页内容的实现方法。分享给大家供大家参考。
php获取数据库的title网页空白PHP区块查询实现方法分析
本文实例讲述了PHP区块查询实现方法。分享给大家供大家参考,具体如下:
分块查询是介于顺序查询和折半查询之间的一种查询方法。
其实折半查询就是每次折半的分块查询,那么分块
aes.phppython 默认编码( UnicodeDecodeError: 'ascii' codec can't decode)
python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: ‘ascii’ codec can’t decode
0踩
赏
0 赞
python字符串成熟编码_python字符串转公式两种方法获取网页编码python版相关推荐
- python安装gdal包_python安装gdal的两种方法
1.不用手动下载文件,直接执行以下命令即可 conda install gdal 2.首先,下载gdal的whl文件 链接, 官网下载比较慢,GDAL-2.2.4-cp27-cp27m-win_am ...
- python的三种取整方式_python 取整的两种方法
问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2"的这一过程:现在我们给这个过程起一个名字叫"取整".那么 ...
- Python计算程序运行时间秒级/毫秒级的两种方法datetime和time
Python计算程序运行时间秒级/毫秒级的两种方法datetime和time 简单粗暴,先上代码: import datetime import time# 方法一:datetime.datetime ...
- 解析数字证书的两种方法—openssl命令和python pyopenssl模块
本文介绍两种方法获取数字证书文件中有用的信息. 证书文件的格式有多种,包括cer,der,crt,pem等.对于这些格式的文件通常可以使用openssl来查看相关的信息并进行输出.同时openssl ...
- python包导入方式_python导包的几种方法(自定义包的生成以及导入详解)
python 导入数据包的几种方法 1.直接导入整个数据包:improt 数据包 2.导入数据包中的某一个函数: from 数据包 improt 函数(当函数这一项为 * 时为导入整个数据包) 3. ...
- 用python打开视频_Python读取视频的两种方法(imageio和cv2)
用python读取视频有两种主要方法,大家可依据自己的需求进行使用. 方法一: 使用imageio库,没有安装的可用pip安装或自己下载,安装好后重启终端即可调用. import pylab impo ...
- python 获取csv的列数_Python读取excel的两种方法
excel是什么 Microsoft Excel是一个使用非常广泛的电子表格程序.它的用户友好性和吸引人的功能使其成为数据科学中常用的工具.对于excel来说,整个excel文件称为工作簿,工作簿中的 ...
- python画素描画_Python素描画的两种程序解析
用python画素描画方式有多种,这里给大家分享常见的且操作简单的两种实现方式,一种用pillow库,一种用opencv库,这两个库的具体使用可百度,网上很多教程,这里不再赘述. 一.pillow实现 ...
- python向上取整的方法_python 取整的两种方法,python向上取整的方法,问题简介: 要把一...
python 取整的两种方法,python向上取整的方法,问题简介: 要把一 问题简介: 要把一个浮点数(float)整数部分提取出来.比如把"2.1"变成"2" ...
最新文章
- SAP MM 采购附加费计入物料成本之二
- 如何通过SEO来提升网站转化率?
- 第1课 - make和makefile
- Qt: MinGW 与MSVC的区别
- 使用 requests 配置代理服务
- 搞懂 SynchronizationContext
- 浪客剑心:位图法Bitmap算法分析
- mysql 5.6.27安装图解_Linux下MySQL 5.6.27 安装教程
- 科技战疫丨SENSORO灵思智能安全服务助力疫情防控
- 基于自动图像分割算法和扩展数据集深度学习的经济作物病害识别
- 为了解决架构的问题,我们需要先理解敏捷的真谛
- iOS数据库的使用(二):sqlite教程
- 第1章-确定superboot210如何为smart210的nand flash进行的分区划分
- 最简单的php爬虫库 QueryList
- css子元素选择父元素的实现
- 大小写字母c语言,C语言 大小写字母转换
- 分别编写计算球的表面积和体积的函数area和volume。在主函数中输入球的半径,分别调用函数area和volume计算并输出球的表面积和体积。
- 紫光云这匹黑马,了解一下
- c语言浮点变量是什么意思,C语言中说的浮点型是什么意思呢 C语言的浮点数是什么...
- 软件开发生命周期(SDLC) 【详解】(含公司产品研发流程图、大厂研发架构图、大厂研发流程图)
热门文章
- OpenCASCADE:形状愈合之分析
- boost::shared_mutex相关的测试程序
- boost::spirit模块实现附加语义动作的各种方法的测试程序
- boost::range模块heap算法相关的测试程序
- boost::phoenix::if_else相关的测试程序
- boost::mp11::mp_apply_q相关用法的测试程序
- boost::math模块使用根查找的示例
- boost::hana::just用法的测试程序
- boost::log模块测试样板,用于检查每个公共标头是否都是独立的并且没有任何缺失的 #includes
- boost::geometry::tag用法的测试程序