新浪微博,爬蟲鏈接:
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'},...
]
prepro.py、pre_graph.py、senti_pre.py
為了應對各種分析需求,需要數據預處理,具體所需數據文件類型和輸出的結果數據結構見這三個py文件
PS:
prepro.py運行時根據需要修改123、143、166行三處代碼
pre_graph.py運行時根據需要修改127、140行兩處代碼
senti_pre.py運行時根據需要修改第119行代碼
zh_wiki.py、langconv.py
這兩個py文件是用於繁體轉簡體的無需修改
詞云:wc.py (需要跑完prepro.py)
根據需要修改3、19、26行代碼
熱度地圖: map.py (需要跑完prepro.py)
根據需要修改第8行代碼
轉發、評論、點贊時間序列: line.py (需要跑完senti_pre.py 和senti_analy.py)
微博評論關係圖: graph.py (需要跑完pre_graph.py)
(參考)
文本聚類: cluster_tfidf.py和cluster_w2v.py (需要跑完prepro.py)
LDA主題模型分析: LDA.py (需要跑完senti_pre.py) tree.py (需要跑完senti_analy.py)
情感分析(詞典): senti_analy.py (需要跑完senti_pre.py) 3Dbar.py (需要跑完senti_analy.py) pie.py (需要跑完senti_analy.py)
情感分析(W2V+LSTM):Sentiment-Analysis-master文檔中的senti_lstm.py (需要跑完senti_pre.py)
看情況修改250行代碼
有些文檔太大,放在百度網盤鏈接中:
鏈接:https://pan.baidu.com/s/1l447d3d6OSd_yAlsF7b_mA 提取碼:og9t
文本相似度分析:similar.py (僅供參考)
其他可供參考: senti_analy_refer.py、Sentiment_lstm.py
有關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即可)