常见错误
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)
我只用第二种方法,