词云更改数据源后,生成的云图还是一模一样的,灵异事件
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")
已知 数据源已经更新,这一点百分百肯定,现在是加了鬼吗?明明都换了别的网页,爬得别的数据,最后生成的图都是一样的,原来的数据都没了,它是如何做到的。。。。? 在线等,帮帮我这个小甲鱼
是不是你爬取的文本问题? Twilight6 发表于 2020-7-22 20:34
是不是你爬取的文本问题?
我又一次自己解决了,各位千万记得爬取的文本保存不要选增量保存,不然还以为自己见了鬼了。。。。上一次保存的文本同样在data.txt中{:10_266:}
页:
[1]