Python爬虫解决中文乱码

目录

一、中文乱码

二、chardet.detect()解决

三、在页面查找编码格式解决


一、中文乱码

问题在于文本的编码格式不正确

python 复制代码
import requests

url='https://www.shicimingju.com/book/sanguoyanyi.html'
headers={
    'User-Agent':
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47'
}

resp=requests.get(url=url,headers=headers).text
print(resp)

二、chardet.detect()解决

第一步:

在终端输入pip install chardet安装chardet库

pip install chardet

第二步:

import chardet

第三步:

chardet库提供了detect函数,用于检测给定文本的编码格式

encoding=chardet.detect(resp.content)["encoding"]

resp.encoding=encoding

python 复制代码
import requests
import chardet

url='https://www.shicimingju.com/book/sanguoyanyi.html'
headers={
    'User-Agent':
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.47'
}

resp=requests.get(url=url,headers=headers)
#["encoding"]是一个字典索引操作,用于获取chardet.detect()函数返回的字典中的"encoding"键对应的值 该值表示检测到的编码格式
encoding=chardet.detect(resp.content)["encoding"]
#print(encoding)
resp.encoding=encoding

page_text=resp.text
#print(page_text)

三、在页面查找编码格式解决

或者在页面Ctrl+U,再Ctrl+F,输入charset查找文本编码格式

相关推荐
2401_846341655 分钟前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
2401_879693878 分钟前
进阶技巧与底层原理
jvm·数据库·python
阿_旭9 分钟前
基于YOLO26深度学习的【桃子成熟度检测与分割系统】【python源码+Pyqt5界面+数据集+训练代码】图像分割、人工智能
人工智能·python·深度学习·桃子成熟度检测
蹦哒12 分钟前
Kotlin 与 Java 语法差异
java·python·kotlin
jerryinwuhan23 分钟前
python数据挖掘基础
python·数据挖掘·numpy
echome88826 分钟前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
yunyun3212331 分钟前
自动化与脚本
jvm·数据库·python
暮冬-  Gentle°32 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
setmoon21432 分钟前
构建一个基于命令行的待办事项应用
jvm·数据库·python
研究点啥好呢42 分钟前
3月22日GitHub热门项目推荐|网页浏览,何须手动
人工智能·python·开源·github