当页面编码使用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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值