python 删除爬虫里无法识别的表情字符

在爬网易云评论的时候发现评论里有很多人发表情,然而python爬取表情后发现无法把表情写入文件里。从而导致异常。后来找到了两种方法判断。

第一种:通过re.sub()删除评论里无法识别的字符串,re.sub有个弊端就是只有第一个表情图片错误的时候能处理,第二个就无法处理了

def character(a):
    dk = open(r'.\评论.txt', 'w')
    try:  # 如果报错,则获取报错的字符串信息
        dk.write(a)
        dk.close()
    except Exception as error:
        # 处理字符串,获取报错的内容
        u = str(error).split(" '")
        u_error = str(u[1]).split("' ")
        b = re.sub(u_error[0], '', a)  # 删除字符串a里所有的报错字符串
        dk.write(b)
        dk.close()

第二种:使用try...except...的方式处理字符串中每个字符,删除无法识别的表情字符。

def character(a):
    dk = open(r'.\评论.txt', 'a+')
    for i in a:
        try:
            dk.write(i)
        except:
            pass
    dk.close()

 

你可能感兴趣的:(Python)