Python Unicode 错误:为什么尽管我使用了 encode(utf-8),但我仍然得到这个 caracters


for p in articles2:
url = p.find('a')['href']
title = p.find('h3').get_text().strip().encode("utf-8")
print(title)

输出:

c3xa9gie de dxc3xa9fense active et prxc3xa9ventivexc2xbb'
b'Zoom sur la course effrxc3xa9nxc3xa9e pour trouver un vaccin'
b'On vous le dit'
b'xc3x89dition du jour (PDF)'
b'Son port est dxc3xa9sormais obligatoire : Le prix du masque plafonnxc3xa9'
b'Baisse de 20% des prix des produits agricoles' .....

尝试不同的编码,似乎这个字符是拉丁语-1。

您可以在此处找到更多编码

使用split()join来翻译字符。

"Zoom sur la course effrxc3xa9nxc3xa9e pour trouver un vaccin" 将在joinsplit()'Zoom sur la course effrénée pour trouver un vaccin'

然后encode它以ascii忽略错误'ignore'decode它以utf-8这是为了删除特殊字符,例如é

应如下所示:

"".join(the_text_to_clean.strip()).encode('ascii', 'ignore').decode("utf-8")

它如何在代码中应用

for p in articles2:
url = p.find('a')['href']
title = p.find('h3').get_text()
title = "".join(title.strip()).encode('ascii', 'ignore').decode("utf-8") #clean title
print(title)

最新更新