解决“网页源代码编码形式为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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现