gpt4 book ai didi

python - 如何使用python在unicode中转换像,"a³ a¡ a´a§"这样的字符?

转载 作者:行者123 更新时间:2023-12-03 18:04:28 25 4
gpt4 key购买 nike

我正在制作一个爬虫来获取文本html,我正在使用beautifulsoup。

当我使用 urllib2 打开 url 时,该库会自动转换使用葡萄牙语重音(如“ãó é õ”)的 html 中的其他字符,如“a³ a¡ a´a§”

我想要的只是得到没有重音的词

contrario ->相反

我尝试使用这种算法,但是当文本使用诸如“olá coração contrário”之类的词时,此算法才有效

   def strip_accents(s):
return ''.join((c for c in unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn'))

最佳答案

首先,您必须确保您的爬虫返回的 HTML 是 unicode 文本(例如,Scrapy 有一个方法 response.body_as_unicode() 就是这样做的)

一旦你有无法理解的 unicode 文本,从 unicode 文本到等效的 ascii 文本的步骤就在这里 - http://pypi.python.org/pypi/Unidecode/0.04.1

from unidecode import unidecode
print unidecode(u"\u5317\u4EB0")

输出是“北京”

关于python - 如何使用python在unicode中转换像,"a³ a¡ a´a§"这样的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7237241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com