当页面编码使用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方式解码。

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

猜你喜欢

转载自blog.csdn.net/weixin_41931602/article/details/80156742