在爬网易云评论的时候发现评论里有很多人发表情,然而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()