我正在解析网页内容以将新闻文章的正文与某个网站隔离开来,为此我使用 urllib.request 检索文章网页的源代码并隔离正文。但是,urllib 采用像"ç"这样的字符,并将其放入 python 字符串中作为其 utf-8 表示法"c387"。它对"和"字符执行相同的操作,它们打印为"e",后跟一组数字。这在尝试阅读文章时非常烦人,因此需要解决。我可以遍历文章并使用繁琐的功能将每个可识别的 utf-8 代码更改为实际字符,但我想知道是否有一种方法可以更轻松地做到这一点。
例如,我的程序的当前输出可能是:e2809eThis country doesn't...e2809d
我希望它是:„This country doesn't...”
注意:我已经检查了网页的源代码,它只使用这些"特殊"字符,所以这绝对是一个urllib问题。
提前感谢!
urllib 返回字节:
>import urllib
>url = 'https://stackoverflow.com/questions/62085906'
>data = urllib.request.urlopen(url).read()
>type(data)
bytes
>idx = data.index(b'characters like')
>data[idx:idx+20]
b'characters like "xc3xa7"'
现在,让我们尝试将其解释为 utf-8:
>data[idx:idx+20].decode('utf-8')
'characters like "ç"'
瞧!