python 用requests获取网页源代码为什么中文显示错误
发布网友
发布时间:2022-04-09 18:51
我来回答
共1个回答
热心网友
时间:2022-04-09 20:20
查看一下网页的编码,比如是gbk的话,就r.encoding='gbk'。一下内容摘自requests文档
requests会自动解码来自服务器的内容。大多数unicode字符集都能被无缝地解码。
请求发出后,requests会基于http头部对响应的编码作出有根据的推测。当你访问
r.text
之时,requests会使用其推测的文本编码。你可以找出requests使用了什么编码,并且能够使用
r.encoding
属性来改变它:
r.encoding
'utf-8'
r.encoding
=
'iso-8859-1'
如果你改变了编码,每当你访问
r.text
,request都将会使用
r.encoding
的新值。你可能希望在使用特殊逻辑计算出文本的编码的情况下来修改编码。比如
http
和
xml
自身可以指定编码。这样的话,你应该使用
r.content
来找到编码,然后设置
r.encoding
为相应的编码。这样就能使用正确的编码解析
r.text
了。