"简单找房"项目中,经常在爬取到某些帖子的时候,无法存入数据库。查了一下具体原因,是因为mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。

    针对这个问题,常见的有两种解决方案
    * 修改MySQL的配置文件,使其支持4字节emoji表情的存储
    * 在爬取过程中,清除emoji表情

    因为"简单找房"只对内容进行爬取,emoji表情不存储也不会有影响,再加上4字节的emoji表情反而增加了对存储的压力,所以打算采取方法二。

    这里找到一个很好用的第三方库:
    https://pypi.org/project/emoji/

    使用pip进行安装

    $ pip install emoji --upgrade
    

    调用清理命令

    emoji.demojize(str)
    

    到这里,字符内的emoji表情就被清理掉了

    转载声明:写作不易,商业转载请联系作者获得授权,非商业转载请注明出处,并附上原文链接,感谢!