本文选择2018年1月1日至1月31日QQ群聊天数据。
用python进行文本可视化分析
首先,需要获取QQ组聊天的文本数据。
爬虫可以很好地爬网页数据。
典型的数据爬网过程如下
分为网站请求、伪装、分析和存储四个程序
更详细的爬网过程如下
需要添加一些规则
本文使用的文本数据
这是我从QQ电脑端背景导出的。
导出文本数据后
编写程序、调试代码、进行可视化分析。
详细代码如下
#QQ群聊天数据分析代码
Importre
Importdatetime
Importseabornassns
Importmaasplt
Importjieba
Fromwordcloudimportwordcloud、stop words
Fromimportimread
#日期
Def get_date(data):
#日期
dates=re . find all(r ' \ d { 4 }-\ d { 2 }-\ d { 2 } 'data)
#天
days=[date[-2:]fordate indates]
(221)
(days)
(' Days ')
#星期几
Weekdays=[da (int (date [:4]),int (date [533607]),int (date [-2:])
Fordateindates]
(222)
(weekdays)
(' WeekDays ')
#小时
Defget_time(data):
times=re . findall(r ' \ d { 2 } : \ d { 2 } : \ d { 2 },data)
#小时
Hours=[时间[:2] fortimeintimes]
(223)
(hours,order=['06 '' 07 '' 08 '' 09 '' 10 '' 11 '' 12 '' 13 ')
是“18”、“19”、“20”、“21”、“22”、“23”、“00”、“01”、“02”和“03”
(“号”)
代码演示:
#字云
defget _ word clound(text _ data):
Word _ list=[' 'join(sentence)forsentenceintext _ data]
New_text=' 'join(word_list)
Pic_path='QQ.jpg '
Mang_mask=imread(pic_path)
(224)
word cloud=word cloud(background _ color=' white 'font _ path='/home/Shen/downloads/
Mask=mang _ mask,stop words=stop words)。generate (new _ text)
(wordcloud)
(“关闭”)
#内容和单词云
Defget_content(data):
Pa=re.com文件(r' \ d {4}-\ d {2}-\ d {2})。*?\(\d \)\n(.*?)\n\n 're。DOTALL)
Content=re.findall(pa、data)
Get _ wordclound(内容)
Defrun():
Filename='新建文本文档。" txt "
With open(filename) as f:
Data=f.read()
Get _ date(数据)
Get _ time(数据)
Get _ content(数据)
()制作文本可视化图后,可以得出以下结论
2018年1月1日至1月31日,在统计180班小组聊天中,
1月2日当天,团体聊天次数最多
每周二进行小组聊天的次数很多
每天16点,群聊次数最多
发现单词云图像。
“全体成员”最常出现