当页面编码使用utf-8编码时,如何转换成中文?

url = 'http://www.sac.net.cn/'
# 伪装成Mozilla浏览器,解决反爬虫
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
# 生成属性字典
directory = {'User-Agent': user_agent}
# 获取目标网站的HTML页面
response = requests.get(url, headers=directory)
# 对HTML进行解析, .content 属性可以将tag的子节点以列表的方式输出
bs = BeautifulSoup(response.text, 'html.parser')
#print response.text
title = bs.find('title').string
print title

这是一开始的代码,当运行的时候就会出现一堆乱码。类似于这样:<title>è¡ä¸å¨æ-中å½è¯å¸ä¸åä¼</title>

查看了网页之后才知道这是因为网页是使用的utf-8编码的。如果使用的是谷歌浏览器,直接点击F12即可查看。否则直接右键后检查元素或者使用查看网页的源代码。

在网页的源代码的头文件最上面,我们可以看到文本的格式。charset=utf-8


所以在使用爬虫爬取内容时,应该在获取到网页的HTML页面和使用bs4解析页面之间,添加一句response.encoding='utf-8'   目的是告诉编辑器这段文本是以utf8方式编码 所以要以utf8方式解码。

添加后编译成功,就会出现想要的页面了。

  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

腾阳

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值