解决“网页源代码编码形式为utf-8,但爬虫代码设置为decode('utf-8')仍出现汉字乱码”的问题

为了用爬虫获取百度首页的源代码,检查了百度的源代码,显示编码格式为utf-8

但这样写代码,却失败了…..

(这里提示:不要直接复制百度的URL,应该是http,不是https!!!)

# 获取百度首页的源码
import urllib.request

#(1)定义一个URL
url='http://www.baidu.com'

#(2)模拟浏览器向服务器发送请求 要在联网的前提下!
response=urllib.request.urlopen(url)

# (3)获取响应中的页面的源码
# 将二进制转化为字符串,也就是解码 decode('对应页面编码的格式')
content=response.read().decode('utf-8')

# (4)打印数据
print(content)

经过查阅资料,发现这样就可以了!成功的代码如下

import urllib.request
import chardet

# 定义一个URL
url = 'http://www.baidu.com'

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)

# 获取响应中的页面的源码
content = response.read()

# 检测编码
encoding = chardet.detect(content)['encoding']

# 将二进制转化为字符串,也就是解码
content = content.decode(encoding)

# 打印数据
print(content)

posted @   夕瑶^  阅读(85)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示