大家好,我是J哥。
以前我写过不少文本数据分析,比如《八佰》影评分析、《三十而已》热评分析等,但基本停留在可视化分析层面。本文将运用文本挖掘技术,对最近热播剧《沉默的真相》弹幕数据进行深入分析,希望对大家有一定的启发。
本文数据分析思路及步骤如下图所示,阅读本文需要10min,您可在「菜J学Python」公众号后台回复文本挖掘获取弹幕数据进行测试。
一、数据获取
如果您对弹幕数据采集感兴趣,可查看J哥往期原创文章「弹幕爬虫,看这一篇就够了!」,本文仅提供核心代码:from xml.dom.minidom import parse
import xml.dom.minidom
def xml_parse(file_name):
DOMTree = xml.dom.minidom.parse(file_name)
collection = DOMTree.documentElement
# 在集合中获取所有entry数据
entrys = collection.getElementsByTagName("entry")
print(entrys)
result = []
for entry in entrys:
content = entry.getElementsByTagName('content')[0]
print(content.childNodes[0].data)
i = content.childNodes[0].data
name = entry.getElementsByTagName('name')[0]
print(name.childNodes[0].data)
j = name.childNodes[0].data
dd = [j,i]
result.append(dd)
print(result)
return result
二、数据清洗
1.导入数据分析库
#数据处理库
import numpy as np
import pandas as pd
import glob
import re
import jieba
#可视化库
import stylecloud
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
from pyecharts.charts import *
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from IPython.display import Image
#文本挖掘库
from snownlp import SnowNLP
from gensim import corpora,models
2.合并弹幕数据
《沉默的真相》共12集,分集爬取,共生成12个csv格式的弹幕数据文件,保存在danmu文件夹中。通过glob方法遍历所有文件,读取数据并追加保存到danmu_all文件中。
csv_list = glob.glob('/菜J学Python/danmu/*.csv')
print('共发现%s个CSV文件'% len(csv_list))
print('正在处理............')
for i in csv_list:
fr = open(i,'r').read()