常见错误

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)

 

我只用第二种方法,

posted @ 2019-02-25 08:26  富坚老贼  阅读(136)  评论(0编辑  收藏  举报