锋哥写一套【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程,帅呆了~~
大家好,我是java1234_小锋老师,最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts)视频教程,持续更新中,计划月底更新完,感谢支持。
视频在线地址:
2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts+爬虫) 视频教程 (火爆连载更新中..)_哔哩哔哩_bilibili
课程简介:
本课程采用主流的Python技术栈实现,Mysql8数据库,Flask后端,Pandas数据分析,前端可视化图表采用echarts,以及requests库,snowNLP进行情感分析,词频统计,包括大量的数据统计及分析技巧。
实现了,用户登录,注册,爬取微博帖子和评论信息,进行了热词统计以及舆情分析,以及基于echarts实现了数据可视化,包括微博文章分析,微博IP分析,微博评论分析,微博舆情分析。最后也基于wordcloud库实现了词云图,包括微博内容词云图,微博评论词云图,微博评论用户词云图等功能。
系统展示
演示代码
import reimport jiebafrom dao import articleDaoimport pandas as pddef getStopWordsList(): \"\"\" 获取停顿词 :return: \"\"\" return [line.strip() for line in open(\'stopWords.txt\', encoding=\'UTF-8\').readlines()]def outArticleFenciToText(): \"\"\" 分词后,写入到txt :return: \"\"\" with open(\'article_fenci.txt\', \'a+\', encoding=\'utf-8\') as file: seg_list = cut_article(articleDao.getAllArticle()) file.write(\" \".join(seg_list))def outArticleFreToCsv(sorted_wfc_list): \"\"\" 词频统计后,写入到txt :return: \"\"\" df = pd.DataFrame(sorted_wfc_list, columns=[\'热词\', \'数量\']) df.to_csv(\'article_fre2.csv\', index=False)def cut_article(): \"\"\" 分词 :return: \"\"\" # 拼接所有评论信息 allArticleStr = \" \".join([x[1].strip() for x in articleDao.getAllArticle()]) seg_list = jieba.cut(allArticleStr) # 精准模式分词 return seg_listdef word_fre_count(): \"\"\" 词频统计 过滤数字,单个字以及停顿词 :param sentence: :return: \"\"\" seg_list = cut_article() stopWord_list = getStopWordsList() # 正则去掉数字,单个字以及停顿词 new_set_list = [] for s in seg_list: number = re.search(\'\\d+\', s) if not number and s not in stopWord_list and len(s) > 1: new_set_list.append(s) # 词频统计,定义一个列表 wfc = {} for w in set(new_set_list): wfc[w] = new_set_list.count(w) sorted_wfc_list = sorted(wfc.items(), key=lambda x: x[1], reverse=True) return sorted_wfc_listif __name__ == \'__main__\': # outArticleFenciToText() outArticleFreToCsv(word_fre_count())
import sysimport pandas as pdfrom PIL import Imageimport numpy as npfrom matplotlib import pyplot as pltfrom wordcloud import WordCloudsys.path.append(\'fenci\')def genCloudPic(str, maskImg, outImg): \"\"\" 生成云图 :param str: 词云 空格隔开 :param maskImg: 遮罩图片 :param outImg: 输出的词云图文件名 :return: \"\"\" img = Image.open(\'./static/\' + maskImg) # 打开遮罩图片 img_arr = np.array(img) # 将图片转化为列表 wc = WordCloud( width=800, height=600, background_color=\'white\', colormap=\'Blues\', font_path=\'STHUPO.TTF\', mask=img_arr, ) wc.generate_from_text(str) # 绘制图片 plt.imshow(wc) plt.axis(\'off\') # 不显示坐标轴 # 输入词语图片到文件 plt.savefig(\'./static/\' + outImg, dpi=500)