关于python中编码问题
import requestsr = requests.get('ht(和谐)tps://ssr1.scrape.center/static/img/logo.png',verify=False)
print(r.text)
抛出的错误报告:
UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in position 0: illegal multibyte sequence
请问大牛们如何解决这个问题呢?在线等待。 import requests
r = requests.get('https://ssr1.scrape.center/static/img/logo.png',verify=False)
r.encoding = 'utf-8'
print(r.text) isdkz 发表于 2023-6-20 12:18
出现了这个错误报告:
UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in position 0: illegal multibyte sequence
不知道怎么回事 python小小白哟 发表于 2023-6-20 15:17
出现了这个错误报告:
UnicodeEncodeError: 'gbk' codec can't encode character '%ufffd' in position 0 ...
才发现你请求的是一个图片,图片不同于文本,它是一个二进制文件,是不遵循文本编码的,所以自然不能以 .text 查看
你可以把它保存成一个图片再打开
import os
import requests
r = requests.get('https://ssr1.scrape.center/static/img/logo.png',verify=False)
with open('logo.png', 'wb') as f:
f.write(r.content)
os.startfile('logo.png')
isdkz 发表于 2023-6-20 15:24
才发现你请求的是一个图片,图片不同于文本,它是一个二进制文件,是不遵循文本编码的,所以自然不能以 . ...
你好 但是我看到的书上写的代码示例是可以打开的二进制图片的。以text类型打开的。 python小小白哟 发表于 2023-6-20 15:30
你好 但是我看到的书上写的代码示例是可以打开的二进制图片的。以text类型打开的。
不会吧,你是不是搞错了,你拍个照片上传到这里发给我看看:wenshushu.com isdkz 发表于 2023-6-20 15:33
不会吧,你是不是搞错了,你拍个照片上传到这里发给我看看:wenshushu.com
打开的是一堆乱码。以text打开的。 python小小白哟 发表于 2023-6-20 15:42
打开的是一堆乱码。以text打开的。
直接用 .text 应该是不行的,如果你要忽略编码错误可以看下面的方法
在 Python 的requests库中,有时会遇到解码文本内容时的编码问题。如果你希望忽略这些错误,你可以尝试用以下方法:
import requests
response = requests.get('http://example.com')
# 使用 errors 参数设置为 'ignore' 来忽略解码错误
text = response.content.decode('utf-8', errors='ignore')
这段代码会尝试以 utf-8 编码来解码响应的内容。如果遇到任何错误,它将忽略这些错误,并继续处理文本。但需要注意的是,这可能会导致某些字符丢失或替换为其他字符。
如果你知道具体的文本编码,你也可以替换 'utf-8' 为你所知道的编码。例如,如果你知道文本是以 'gbk' 编码的,你可以这样写:
text = response.content.decode('gbk', errors='ignore')
如果你不确定正确的编码,你可以尝试使用 chardet 库自动检测编码:
import requests
import chardet
response = requests.get('http://example.com')
encoding = chardet.detect(response.content)['encoding']
text = response.content.decode(encoding, errors='ignore')
这段代码会使用 chardet.detect() 方法来推断响应内容的编码,然后用推断出的编码来解码文本。
页:
[1]