Python 处理微信网页版消息中的emoji表情在命令行中显示

找了一个基于微信网页版API的微信机器人,主要在命令行中使用,然后发现消息中的表情都变成了 html的标签啊,然而想让表情正常在控制台显示,就有了下面的代码。

问题

因为我的微信名称中有emoji表情,收到的消息是这样的

4739723278617112577 orangleliu<span class="emoji emoji1f4d6">span> -> orangleliu<span class="emoji emoji1f4d6">span>: [*] 成功获取联系人信息

194084662860949775 |wxpy 交流群 <span class="emoji emoji1f431">span>| 生元数据 -> GROUP: @游否 我这边为什么无法转发消息啊,能帮忙看哈是什么问题?

代码

主要目标就是让 中的表情可以显示在控制台中,过滤代码是这样的(py3)

import re

def emoji_print(rawstring):
    """ orangleliu
    """
    # 提取所有表情html
    # 替换所有表情
    flag = True
    while flag:
        start = rawstring.find(')
        end = rawstring.find('>')
        if start < 0 or end < 0:
            flag = False
            break
        emojistr = rawstring[start : end + 8]
        try:
            emojicode = re.search(' emoji(.+?)\"', emojistr).group(1)
            emoji = chr(int(emojicode, 16))
        except:
            emoji = ""
        rawstring = rawstring.replace(emojistr, emoji)
    return rawstring

改造之后是这样的,效率上没怎么考虑,因为机器人消息没那么多呀,希望给大家一个思路。 焦点在于怎么提取表情标签,怎么样转化为表情

这里写图片描述

你可能感兴趣的:(如今Python)