Skip to content
 
 

Latest commit

 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

weibo GitHub license stars forks python

微博文本分析和可视化

0. 数据来源和结构

新浪微博,爬虫链接:

https://github.com/HUANGZHIHAO1994/weibospider-keyword

微博内容数据结构(mongo数据库导出的json文档)

content_example:
[
{'_id': '1177737142_H4PSVeZWD', 'keyword': 'A股', 'crawl_time': '2019-06-01 20:31:13', 'weibo_url': 'https://weibo.com/1177737142/H4PSVeZWD', 'user_id': '1177737142', 'created_at': '2018-11-29 03:02:30', 'tool': 'Android', 'like_num': {'$numberInt': '0'}, 'repost_num': {'$numberInt': '0'}, 'comment_num': {'$numberInt': '0'}, 'image_url': 'http://wx4.sinaimg.cn/wap180/4632d7b6ly1fxod61wktyj20u00m8ahf.jpg', 'content': '#a股观点# 鲍威尔主席或是因为被特朗普总统点名批评后萌生悔改之意,今晚一番讲话被市场解读为美联储或暂停加息步伐。美元指数应声下挫,美股及金属贵金属价格大幅上扬,A50表现也并不逊色太多。对明天A股或有积极影响,反弹或能得以延续。 [组图共2张]'},...
]

微博评论数据结构(mongo数据库导出的json文档)

comment_example:
[
{'_id': 'C_4322161898716112', 'crawl_time': '2019-06-01 20:35:36', 'weibo_url': 'https://weibo.com/1896820725/H9inNf22b', 'comment_user_id': '6044625121', 'content': '没问题,', 'like_num': {'$numberInt': '0'}, 'created_at': '2018-12-28 11:19:21'},...
]

1. 数据预处理

  1. prepro.py、pre_graph.py、senti_pre.py

    为了应对各种分析需求,需要数据预处理,具体所需数据文件类型和输出的结果数据结构见这三个py文件

    PS:

    prepro.py 运行时根据需要修改123、143、166行三处代码

    pre_graph.py 运行时根据需要修改127、140行两处代码

    senti_pre.py 运行时根据需要修改第119行代码

  2. zh_wiki.py、langconv.py

    这两个py文件是用于繁体转简体的无需修改

2. 数据分析和可视化

  1. 词云:wc.py(需要跑完prepro.py)

    根据需要修改3、19、26行代码

  2. 热度地图: map.py(需要跑完prepro.py)

    根据需要修改第8行代码

  3. 转发、评论、点赞时间序列: line.py(需要跑完senti_pre.py 和 senti_analy.py)

  4. 微博评论关系图: graph.py(需要跑完pre_graph.py)

    参考

  5. 文本聚类: cluster_tfidf.pycluster_w2v.py(需要跑完prepro.py)

  6. LDA主题模型分析: LDA.py(需要跑完senti_pre.py)tree.py(需要跑完senti_analy.py)

  7. 情感分析(词典): senti_analy.py(需要跑完senti_pre.py)3Dbar.py(需要跑完senti_analy.py)pie.py(需要跑完senti_analy.py)

  8. 情感分析(W2V+LSTM):Sentiment-Analysis-master文档中的senti_lstm.py(需要跑完senti_pre.py)

    看情况修改250行代码

    有些文档太大,放在百度网盘链接中:

    链接:https://pan.baidu.com/s/1l447d3d6OSd_yAlsF7b_mA 提取码:og9t

  9. 文本相似度分析:similar.py(仅供参考)

  10. 其他可供参考: senti_analy_refer.py、Sentiment_lstm.py

  11. 有关Senti_Keyword_total_id.csv:

    下载8.百度网盘中Senti_Keyword_total_id.csv即可,以下是解释: 该文件几乎和Senti_Keyword_total.csv相同,只是多了一列weibo_id(此处不再给出生成Senti_Keyword_total_id.csv的代码,直接给生成的文档, 生成Senti_Keyword_total_id.csv可改写senti_analy.py,增加一列weibo_id), 8中的百度网盘(有Senti_Keyword_total_id.csv和Senti_Keyword_total.csv,还有全部comment和全部content), 由于lines.py等需要全部关键词,因此需要用senti_analy.py直接跑全部comment.json和content.json生成Senti_Keyword_total.csv(直接从网盘下来Senti_Keyword_total_id.csv再跑lines.py,3Dbar.py,pie.py即可)

About

使用python抓取微博数据并对微博文本分析和可视化,LDA(树图)、关系图、词云、时间趋势(折线图)、热度地图、词典情感分析(饼图和3D柱状图)、词向量神经网络情感分析、tfidf聚类、词向量聚类、关键词提取、文本相似度分析等

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages