-->
  • 39141

    文章

  • 313

    评论

  • 27

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Python的requests库获取网页中文乱码处理

喜欢本站的朋友可以收藏本站,或者加入QQ群:172816590Web网页设计师,我们大家一起来交流技术!

欢迎来到梁钟霖个人博客网站。本个人博客网站提供最新的站长新闻,各种互联网资讯。 还提供个人博客模板,最新最全的java教程,java面试题。在此我将尽我最大所能将此个人博客网站做的最好! 谢谢大家,愿大家一起进步!

requests库获取网页后,print中文会出现乱码,最简单的办法是根据网页编码设置encoding

import requests

r = requests.get('https://www.baidu.com')
r.encoding='utf-8'  # 根据网页编码设置
print(r.text)

这种方式可以达成目标,但是不够智能。其实,requests库包含了几个有用的函数,可以获取网页的编码

1、requests.utils.get_encoding_from_headers函数可以根据响应头获取网页编码

import requests

r = requests.get('https://www.baidu.com')
r.encoding=requests.utils.requests.utils.get_encoding_from_headers(r.headers)
print(r.text)

2、requests.utils.get_encodings_from_content函数可以根据网页内容获取编码

import requests

r = requests.get('https://www.baidu.com')
r.encoding=requests.utils.requests.utils.get_encodings_from_content(r.text)
# 注意get_encodings_from_content的参数是字符串,所以要用r.text而不是r.content
print(r.text)

注:通常获取正常的网页后使用以上两个函数任意一个都可以正常完成任务。但是也存在获取的编码与网页实际编码不符合的情况,要根据情况灵活使用。

 

 


 转载至链接:https://my.oschina.net/u/2357619/blog/3008451。


您觉喜欢本网站,或者觉得本文章对您有帮助,那么可以选择打赏。
打赏多少,您高兴就行,谢谢您对梁钟霖这小子的支持! ~(@^_^@)~

  • 微信扫一扫

    微信打赏
  • 支付宝扫一扫

    支付宝打赏
转载原创文章请注明出处,转载至: 梁钟霖个人博客www.liangzl.com

1条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤