|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def clean_data(your_data):
# r+是正常的读写模式,.read()转换为字符串格式
data = open(your_data, 'r+', encoding='utf8').read()
# 用正则去除所有中文汉字以外的东西
rule = re.compile(r'[\u4e00-\u9fa5]+') # [\u4e00-\u9fa5]+ 表示至少选择一个汉字
chinese = re.findall(rule, data)
cleaned_data = ''.join(chinese) # join决定每个字符中间的连接符,这里为空
segment = jieba.lcut(cleaned_data) # 分词,返回列表格式
print(segment)
# 清除停用词
stopword = open("stopwords.txt", 'r+', encoding='utf8').read()
# 生成停用词词典,fromkeys(a,b)——a代表取停用词的元素作为词典的键,b代表键对应的值,这里我们只需要键
# split 把停用词整体文本,按换行符分割,组成包含单独字词的词典
# 否则我们的dist会包含\n换行符
stopword_dist = {}.fromkeys(stopword.split('\n'))
print(stopword_dist)
mydist = []
for each in segment:
if each not in stopword_dist and each != ' ' and len(each) != 1:
mydist.append(each)
# 文字处理结束,生成最后的词库
# 一波三折,最后把词典转换为逗号隔开的字符串
mydist = ','.join(mydist)
print('这是最终的dist')
print(mydist)
# segment = {'segment':segment}
# panda = pandas.DataFrame({'segment':segment})
# print(panda)
# 开始生成图云
#bg_pic = numpy.array(Image.open('timg.jpg')) # 背景图
#bg_color = wordcloud.ImageColorGenerator(bg_pic)
cloud_pic = wordcloud.WordCloud(
scale=6, # 词云清晰度
background_color="white", # 背景颜色
max_words=500, # 显示最大词数
font_path="C:/Windows/Fonts/simkai.ttf", # 使用字体
min_font_size=5, # 印刷的分辨率,越低,图片越形象生动
max_font_size=60,
# width=40, # 图幅宽度
#mask=bg_pic,
# color_func=bg_color,
)
cloud_pic.generate(mydist)
cloud_pic.to_file("word_cloud.png")
已知 数据源已经更新,这一点百分百肯定,现在是加了鬼吗?明明都换了别的网页,爬得别的数据,最后生成的图都是一样的,原来的数据都没了,它是如何做到的。。。。?
|
|