一尘不染

如何处理来自urllib.request.urlopen()的响应编码

python

我正在尝试使用正则表达式搜索网页,但出现以下错误:

TypeError:无法在类似字节的对象上使用字符串模式

我知道为什么urllib.request.urlopen()返回一个字节流,因此,至少在我看来,re不知道要使用的编码。在这种情况下我该怎么办?有没有办法在urlrequest中指定编码方法,或者我需要自己重新编码字符串?如果是这样,我想做什么,我假设我应该从标题信息中读取编码,或者如果在html中指定了编码类型,则应将其重新编码为?


阅读 167

收藏
2020-12-20

共1个答案

一尘不染

您只需要解码响应,Content- Type通常使用标头的最后一个值即可。本教程中也提供了一个示例。

output = response.decode('utf-8')
2020-12-20