很多朋友在做爬虫和数据采集的时候会遇见字符中存在很多的特殊字符,影响数据的质量。今天给大家写一段代码用于数据清洗:
方法一:
info = ''
str = '<@ba.rem>可以在下列状态和初始状态间切换:</>\n攻击范围<@ba.vdown>缩小</>,防御力<@ba.vup>+{0.35}</>,每秒恢复最大生命的<@ba.vup>{HP_RECOVERY_PER_SEC_BY_MAX_HP_RATIO:0.0%}</>'.replace('<@ba.rem>', '').replace('<@ba.vdown>', '').replace('<@ba.vup>', '')
for n in range(0, len(str)-1):
if '\u4e00' <= str[n] <= '\u9fff' or str[n] in ':,,:0123456789.%':
info += str[n]
print(info)
输出结果:
可以在下列状态和初始状态间切换:攻击范围缩小,防御力0.35,每秒恢复最大生命的:0.0%
此程序是根据下标提取出每一个字符,对字符进行中文验证和符号验证。
方法二:
去掉所有表情包
pip install emoji
import emoji
emoji.demojize(str)
方法三:
去除所有非汉子的文本,并将繁体转化为简体
pip install zhconv
from re import sub
import zhconv,emoji
hans = sub("[^\u4e00-\u9fa5]", '', zhconv.convert(str, 'zh-hans'))