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: @游否 我这边为什么无法转发消息啊,能帮忙看哈是什么问题?

代码

主要目标就是让 <span class="emoji emoji1f4d6"></span> 中的表情可以显示在控制台中,过滤代码是这样的(py3)

import re

def emoji_print(rawstring):
    """ orangleliu<span class="emoji emoji1f4d6"></span>
    """
    # 提取所有表情html
    # 替换所有表情
    flag = True
    while flag:
        start = rawstring.find('<span')
        end = rawstring.find('></span>')
        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

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

这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值