在進行中文分詞統計前,往往要先把爬取下來的文本中包含的一些標簽、標點符號、英文字母等過濾掉,這一過程叫做數據清洗。
#coding=utf-8 import re import codecs def strs_filter(file): with codecs.open(file,"r","utf8") as f,codecs.open("result.txt","a+","utf8") as c: lines=f.readlines() for line in lines: # line=line.decode('utf8') re_html=re.compile('<[^>]+>'.decode('utf8'))#從'<'開始匹配,不是'>'的字符都跳過,直到'>' re_punc=re.compile('[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*“”《》:()]+'.decode('utf8'))#去除標點符號 re_digits_letter=re.compile('\w+'.decode('utf8'))#去除數字及字母 line=re_html.sub('',line) line=re_punc.sub("",line) line=re_digits_letter.sub("",line) c.write(line) strs_filter("strip.txt")
通過上面的代碼可以去除與中文分詞統計無關的內容,效果如下:

