python中怎么解决的请求中文乱码

  介绍

怎么解决python中的请求中文乱码?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

先在爬虫都在推荐用请求库,而不是Urllib,但是读取网页的时候中文会出现乱码。

分析:

r=requests.get (“http://www.baidu.com”)

* * r.text返回的是Unicode型的数据。

使用r.content返回的是字节型的数据。

也就是说,如果你想取文本,可以通过r.text。

如果想取图片,文件,则可以通过r.content。* *

获取一个网页的内容

方法1:使用r.content,得到的是字节型,再转为str

url=& # 39; http://music.baidu.com& # 39;   时间=r  requests.get (url)   html=r.content   html_doc=str (html、& # 39; utf - 8 # 39;), # html_doc=html.decode (“utf-8",“ignore")   打印(html_doc)

方法2:使用r。文本

请求会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。请求发出后,请求会基于HTTP头部对响应的编码作出有根据的推测。当你访问r。文本之时,请求会使用其推测的文本编码。你可以找出请求使用了什么编码,并且能够使用r。编码属性来改变它。

但是请求库的自身编码为:r。编码=癷so - 8859 - 1”

可以r。编码修改编码

=& # 39;url http://music.baidu.com& # 39;   r=requests.get (url)   r.encoding=& # 39; utf - 8 # 39;   打印(r.text)

看完上述内容,你们掌握怎么解决python中的请求中文乱码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

python中怎么解决的请求中文乱码