大话 Python:python 基础巩固 -- python 有多少种编码方式,如何检测编码方式并完成转码

本文介绍了在Python爬虫中检测和转换编码的重要性,包括使用chardet库进行快速检测和UniversalDetector进行逐行检测的方法。同时提到了Python学习资源,如全套学习资料,涵盖了编码问题解决、学习路线、工具软件等内容。
摘要由CSDN通过智能技术生成
5、检测编码

检测编码是经常要在爬虫过程中使用的方式,对网络上抓取到的内容进行编码的检测判断,为后续的内容提取、数据清洗等提供可靠的依据。

1# 导入 chardet 库

2import chardet

3test_str = “Python 集中营”

4# 使用 detect() 检测编码

5print chardet.detect(test_str)

为了避免大文本的转换太过耗费时间,chardet 库还提供了另外一种检测方式,使用对象 UniversalDetector 的逐行检测方式会大大的提高效率。

1# 导入 UniversalDetector 对象

2from chardet.universaldetector import UniversalDetector

3

4# 定义获取编码函数

5def getEncodeInfo(file):

6 # 打开一个文件

7 with open(file, ‘rb’) as f:

8 # universaldetector 对象赋值

9 detector = UniversalDetector()

10 for line in f.readlines():

11 # 遍历检测编码

12 detector.feed(line)

13 # 确保检测达到最小置信阈值为 True 时返回

14 if detector.done:

15 break

16 # 检测完之后关闭源文本

17 detector.close()

18 # 返回编码

19 return detector.result[‘encoding’]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值