常见错误

1.爬虫插入 mysql时报 "Incorrect string value: '\xF0\x9F\x93\x9D\xC2\xA0...' for column 'con的错误。

原因

Mysql的utf8编码最多3个字节,可能有4个字节的字符。utf8mb4兼容utf8,且比utf8能表示更多的字符。通常是emoji表情符号

(1)修改数据库的字符集

字符集编码修改成utf8mb4_unicode_ci  。  

如果已经创建了表,还要修改表的字符集

 相当于

ALTER TABLE `dbname`.`tablename` 
COLLATE = utf8mb4_unicode_ci ;

(2)或者考虑过去掉表情

 pip install emoji

清除命令:

emoji.demojize(str)

(3)也是过滤掉表情不用导入emoji包

def filter_emoji(desstr,restr=''):  
    try:  
        co = re.compile(u'[U00010000-U0010ffff]')  
    except re.error:  
        co = re.compile(u'[uD800-uDBFF][uDC00-uDFFF]')  
    return co.sub(restr, desstr)

我只用第二种方法,

原文地址:https://www.cnblogs.com/buchizaodian/p/10429010.html