Python实现文本HTML清洗、单词提取与词频统计
本文介绍了使用Python进行文本处理的三个核心步骤:去除HTML标签、提取指定长度的单词以及统计词频。通过DocProcess类封装strip_html、separate_words和get_words_frequency方法,实现从原始文本到词频字典的完整处理流程。代码展示了正则表达式在单词分割中的应用及字典计数逻辑,适用于基础文本分析场景。
文本处理是开发中常见的需求,这里对相关操作进行整理总结,并会持续补充相关内容。
主要包含以下处理操作:
strip_html(cls, text):用于移除文本中的HTML标签。
separate_words(cls, text, min_lenth=3):用于从文本中提取单词列表,默认最小单词长度为3。
get_words_frequency(cls, words_list):用于统计单词列表中各单词出现的频率。
具体实现源码如下:
class DocProcess(object):
@classmethod
def strip_html(cls, text):
"""
Delete html tags in text.
text is String
"""
new_text = " "
is_html = False
for character in text:
if character == "<":
is_html = True
elif character == ">":
is_html = False
new_text += " "
elif is_html is False:
new_text += character
return new_text
@classmethod
def separate_words(cls, text, min_lenth=3):
"""
Separate text into words in list.
"""
splitter = re.compile("\\W+")
return [s.lower() for s in splitter.split(text) if len(s) > min_lenth]
@classmethod
def get_words_frequency(cls, words_list):
"""
Get frequency of words in words_list.
return a dict.
"""
num_words = {}
for word in words_list:
num_words[word] = num_words.get(word, 0) + 1
return num_words
以上关于Python文本单词提取和词频统计的实例分享完毕,希望能为读者提供参考,欢迎继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













