【问题标题】:Filter Emojis like \\xe2\\x80\\x9e from HTML in python 3在 python 3 中从 HTML 中过滤 \\xe2\\x80\\x9e 等表情符号
【发布时间】:2021-02-26 04:08:24
【问题描述】:

所以我正在做一个项目,我需要手动过滤社交媒体评论线程的 HTML,使用 split 和 replace 和 re.sub 以及那些东西,否则我不会获得所需的信息(BeautifulSoup 过滤掉重要的信息也)。最后,我留下了这样的东西:

祝你好运,现在有一些真正的竞争 \xf0\x9f\x98\x8f

谢谢\xf0\x9f\x98\x82

我搜索了任何方法来摆脱这些或用实际的表情符号替换它们,但我一无所获。我确实找到了过滤掉表情符号的命令,当它们看起来像这样 U+1F600 或像这样 :cowboy hat face: 或像这样 \U0001F606 时,我确实找到了过滤掉像 \xe2\x80\x99 这样的东西的人,但他只这样做是为了分号和引号,而不是表情符号。我也找不到为此使用编码和解码的方法。

简短:我希望“谢谢\xf0\x9f\x98\x82”变成“谢谢”。

所以我是使用网站的新手,也许答案很简单,但正如我所说,我在互联网上没有找到任何东西。非常感谢任何帮助!

【问题讨论】:

    标签: python html unicode emoji


    【解决方案1】:

    如果您只希望文本中包含 ascii 字符,则可以使用 ascii 对文本进行 enode 和解码

    text = """Best of luck to you now that there's some real competition \xf0\x9f\x98\x8f
    Thanks \xf0\x9f\x98\x82"""
    
    text = text.encode('ascii', 'ignore').decode()
    
    >>> text
    
    Best of luck to you now that there's some real competition 
    Thanks
    

    【讨论】:

    • 首先,非常感谢,它确实帮助了我。然而,虽然它在 shell 中使用完全相同的字符串工作,但它在我的程序中不起作用。因为我不想与你分享所有 200 行可以想象的最糟糕的代码,其中充满了沮丧的德国 cmets,所以我必须自己解决剩下的问题。
    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 2016-07-20
    • 2016-07-11
    相关资源
    最近更新 更多