我有一个使用twitter公共API的django应用程序。
收到的应用程序的推文包含一些表情符号,我想将其转换为HTML十进制等值。
正在搜索python emoji
我找到了两个图书馆(emoji_unicode
,pyemoji
)。
我使用以下两个库来获取推文正文中包含的表情符号的小数值;
import emoji_unicode, pyemoji
def emoji_callback(e):
t = pyemoji.encode(e.unicode).replace('\\u','')
return "&#%s;" % str(int(t, 16))
emoji_unicode.replace(u'Time to ⛽ ',emoji_callback)
上一个示例工作正常,但对于其他一些表情符号,它不起作用,它会引发invalid literal for int() with base 16
异常。例如,以下代码不起作用。
emoji_unicode.replace(u'Time to ',call)
1-有没有更简单的方法来获取推文正文中表情符号的HTML小数而不是在这里实现的内容?
2-如果不是,我如何解决该异常并使代码适用于所有emojis?
答案 0 :(得分:1)
这样的事可能会有所帮助:)。
def emoji_calback(e):
'&#x{0};'.format(e.unicode.encode('unicode_escape').decode('utf8').lstrip('\\U0u'))
答案 1 :(得分:0)
您可以使用类似的内容:
pyemoji.entities('Hey ?')
这将返回包含表情符号string
十进制代码的Unicode HTML
。
它返回这样的unicode字符串:
u'Hey 😀'