python unicode 错误:为什么我使用 encode(utf-8)却一直得到这些字符?

问题描述 投票:0回答:1
for p in articles2:
    url = p.find('a')['href']
    title = p.find('h3').get_text().strip().encode("utf-8")
    print(title)

OUTPUT:

c3\xa9gie de d\xc3\xa9fense active et pr\xc3\xa9ventive\xc2\xbb'

b'Zoom sur la course effr\xc3\xa9n\xc3\xa9e pour trouver un vaccin'

b'On vous le dit'

b'\xc3\x89dition du jour (PDF)'

b'Son port est d\xc3\xa9sormais obligatoire : Le prix du masque plafonn\xc3\xa9'

b'Baisse de 20% des prix des produits agricoles' .....
python web-scraping unicode utf-8 pycharm
1个回答
0
投票

试试别的编码,似乎这个字符是拉丁文-1。

你可以找到更多的编码 此处


0
投票

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

"Zoom sur la course effr\xc3\xa9n\xc3\xa9e pour trouver un vaccin" 'Zoom sur la course effrénée pour trouver un vaccin' 之后 joinsplit()

然后 encodeascii 忽略错误 'ignore'decodeutf-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)
© www.soinside.com 2019 - 2024. All rights reserved.