2021年2月3日星期三

抖音数据采集、分析,可视化显示数据,粉丝画像、评论词云(附代码)

抖音数据采集、分析,可视化显示数据,粉丝画像、评论词云(附代码)

短视频、直播数据实时采集接口,请查看文档: TiToData


免责声明:本文档仅供学习与参考,请勿用于非法用途!否则一切后果自负。


数据获取
数据采集来源:TiToData,一共是有5000+抖音大V的数据信息。

 
主要包含大V们的昵称、性别、地点、类型、点赞数、粉丝数、视频数、评论数、分享数、关注数、毕业学校、认证、简介等信息。
其中粉丝最多的是「人民日报」,接近1.2亿。「央视新闻」也破亿了,记得之前破亿的时候还上过热搜~
粉丝最少的博主也有近150w+的粉丝,这5000多位大V累计236.5亿粉丝,地球人口的三倍多!
数据可视化
导入相关库,然后读取数据。

1. from pyecharts.charts import Pie, Bar, TreeMap, Map, Geo2. from wordcloud import WordCloud, ImageColorGenerator3. from pyecharts import options as opts4. import matplotlib.pyplot as plt5. from PIL import Image6. import pandas as pd7. import numpy as np8. import jieba9. 10. df = pd.read_csv('douyin.csv', header=0, encoding='utf-8-sig')11. print(df)

性别分布情况


 
整体上看,男女比例差别不大。
除去未知的数据,基本是1:1
可视化代码如下。

1. def create_gender(df):2.  df = df.copy()3.  # 修改数值4.  df.loc[df.gender == '0', 'gender'] = '未知'5.  df.loc[df.gender == '1', 'gender'] = '男性'6.  df.loc[df.gender == '2', 'gender'] = '女性'7.  # 根据性别分组8.  gender_message = df.groupby(['gender'])9.  # 对分组后的结果进行计数10.  gender_com = gender_message['gender'].agg(['count'])11.  gender_com.reset_index(inplace=True)12. 13.  # 饼图数据14.  attr = gender_com['gender']15.  v1 = gender_com['count']16. 17.  # 初始化配置18.  pie = Pie(init_opts=opts.InitOpts(width="800px", height="400px"))19.  # 添加数据,设置半径20.  pie.add("", [list(z) for z in zip(attr, v1)], radius=["40%", "75%"])21.  # 设置全局配置项,标题、图例、工具箱(下载图片)22.  pie.set_global_opts(title_opts=opts.TitleOpts(title="抖音大V性别分布情况", pos_left="center", pos_top="top"),23.       legend_opts=opts.LegendOpts(orient="vertical", pos_left="left"),24.       toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"saveAsImage": {}}))25.  # 设置系列配置项,标签样式26.  pie.set_series_opts(label_opts=opts.LabelOpts(is_show=True, formatter="{b}:{d}%"))27.  pie.render("抖音大V性别分布情况.html")

点赞数


 
点赞数TOP10,除了「小团团」和「毒舌」,其他都是新闻媒体类的大V。
今年因为疫情,有很多新闻在抖音上都是第一时间传播,所以影响力比较大,点赞也就比较多了。
记得「四川观察」还被评论区调侃为四处观察,意思是发布消息非常快。

 
好奇为什么会有100万点赞数的大V,小F的抖音号都有20w+的赞。
最后发现是第三方监测收录的问题,下次可以直接剔除这批数据。
点赞破亿的有500多个大V,1000万到5000万点赞数的大V人数最多。
可视化代码如下。

1. def create_likes(df):2.  # 排序,降序3.  df = df.sort_values('likes', ascending=False)4.  # 获取TOP10的数据5.  attr = df['name'][0:10]6.  v1 = [float('%.1f' % (float(i) / 100000000)) for i in df['likes'][0:10]]7. 8.  # 初始化配置9.  bar = Bar(init_opts=opts.InitOpts(width="800px", height="400px"))10.  # x轴数据11.  bar.add_xaxis(list(reversed(attr.tolist())))12.  # y轴数据13.  bar.add_yaxis("", list(reversed(v1)))14.  # 设置全局配置项,标题、工具箱(下载图片)、y轴分割线15.  bar.set_global_opts(title_opts=opts.TitleOpts(title="抖音大V点赞数TOP10(亿)", pos_left="center", pos_top="18"),16.       toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"saveAsImage": {}}),17.       xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)))18.  # 设置系列配置项,标签样式19.  bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="right", color="black"))20.  bar.reversal_axis()21.  bar.render("抖音大V点赞数TOP10(亿).html")22. 23. 24. def create_cut_likes(df):25.  # 将数据分段26.  Bins = [0, 1000000, 5000000, 10000000, 25000000, 50000000, 100000000, 5000000000]27.  Labels = ['0-100', '100-500', '500-1000', '1000-2500', '2500-5000', '5000-10000', '10000以上']28.  len_stage = pd.cut(df['likes'], bins=Bins, labels=Labels).value_counts().sort_index()29.  # 获取数据30.  attr = len_stage.index.tolist()31.  v1 = len_stage.values.tolist()32. 33.  # 生成柱状图34.  bar = Bar(init_opts=opts.InitOpts(width="800px", height="400px"))35.  bar.add_xaxis(attr)36.  bar.add_yaxis("", v1)37.  bar.set_global_opts(title_opts=opts.TitleOpts(title="抖音大V点赞数分布情况(万)", pos_left="center", pos_top="18"),38.       toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"saveAsImage": {}}),39.       yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)))40.  bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="top", color="black"))41.  bar.render("抖音大V点赞数分布情况(万).html")

粉丝数


 
「人民日报」和「央视新闻」粉丝都破亿了。
和去年的抖音数据一对比,「热巴」还少了几十万的粉丝,陈赫倒是涨了不少粉丝。
今年直播带货火热,李佳琦排入前十,也不足为奇,毕竟带货一哥。

 
再来看一下大V们粉丝数的分布情况。

 
5000万以上56个,妥妥的大佬。
200w~500w的人数最多,好多一时爆火的博主,一段时间后也基本不怎么涨粉了。
可能都停留到了这里,比如小F以前刷过的「三支花」,想不明白这都能火...
这里的可视化代码和上面差不多,就不放出来了。

评论数TOP10


 
抖音视频的评论区也是比较有意思的地方。
比如刷剧催更的,「赶紧去更新,都过了十几分钟了,生产队的驴都不敢休息这么久」。
还有五只疯狂摇头的猫,也占领了评论区一段时间。

 
只能说,太魔性了~
总的来说,媒体类的视频评论较多。
分享数TOP10

 
抖音的分享是视频对外传播的一个方法,可以让更多的人看到视频。
从数据上看,大家还是比较喜欢分享新闻类以及美食类的视频。
可能过年疫情,居家一个月的时间,除了葛优躺看新闻,就是吃吃吃。
每个人,也就都有了一个成为大厨的梦想。
各类型点赞数/粉丝数汇总分布图

 

 
记得曾经一位大佬说过,抖音这个产品是消磨你时间的(Kill Time),而不是节约时间(Save Time),技术稍微深一点的视频基本上生存不下去。
由上面的矩形树图可以知道,大家都喜欢「美女」类型的视频,毕竟谁不喜欢漂亮妹子呢~
比如说深情看铜人的妹子高考送满天星的妹子刀小刀等等,妹子爆火的视频太多了...
另外「搞笑」、「游戏」、「剧情」类的视频也比较吸引人,妥妥的Kill Time。
可视化代码如下。

1. def create_type_likes(df):2.  # 分组求和3.  likes_type_message = df.groupby(['category'])4.  likes_type_com = likes_type_message['likes'].agg(['sum'])5.  likes_type_com.reset_index(inplace=True)6.  # 处理数据7.  dom = []8.  for name, num in zip(likes_type_com['category'], likes_type_com['sum']):9.   data = {}10.   data['name'] = name11.   data['value'] = num12.   dom.append(data)13.  print(dom)14. 15.  # 初始化配置16.  treemap = TreeMap(init_opts=opts.InitOpts(width="800px", height="400px"))17.  # 添加数据18.  treemap.add('', dom)19.  # 设置全局配置项,标题、工具箱(下载图片)20.  treemap.set_global_opts(title_opts=opts.TitleOpts(title="各类型抖音大V点赞数汇总图", pos_left="center", pos_top="5"),21.        toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"saveAsImage": {}}),22.        legend_opts=opts.LegendOpts(is_show=False))23. 24.  treemap.render("各类型抖音大V点赞数汇总图.html")

平均视频点赞数/粉丝数TOP10


 

 
李现」作为2019年的顶级流量,登顶第一,没啥问题。
其他的博主小F一个也没关注过。
去搜索了一下,发现大部分账号只有一两个视频。
看了评论区,发现原来号被卖掉了,有可能是大V和公司分手了,毕竟现在好多做网红的公司,不火就下一位。

 
另一种就是个人转让账号,变现赚钱跑路咯。
可视化代码如下。

1. def create_avg_likes(df):2.  # 筛选3.  df = df[df['videos'] > 0]4.  # 计算单个视频平均点赞数5.  df.eval('result = likes/(videos*10000)', inplace=True)6.  df['result'] = df['result'].round(decimals=1)7.  df = df.sort_values('result', ascending=False)8. 9.  # 取TOP1010.  attr = df['name'][0:10]11.  v1 = ['%.1f' % (float(i)) for i in df['result'][0:10]]12. 13.  # 初始化配置14.  bar = Bar(init_opts=opts.InitOpts(width="800px", height="400px"))15.  # 添加数据16.  bar.add_xaxis(list(reversed(attr.tolist())))17.  bar.add_yaxis("", list(reversed(v1)))18.  # 设置全局配置项,标题、工具箱(下载图片)、y轴分割线19.  bar.set_global_opts(title_opts=opts.TitleOpts(title="抖音大V平均视频点赞数TOP10(万)", pos_left="center", pos_top="18"),20.       toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"saveAsImage": {}}),21.       xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)))22.  # 设置系列配置项23.  bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="right", color="black"))24.  # 翻转xy轴25.  bar.reversal_axis()26.  bar.render("抖音大V平均视频点赞数TOP10(万).html")

抖音大V分布情况

省份看完了,来看一下城市TOP10吧。

 
北京遥遥领先,大V的聚集地。
杭州盛产网红的城市,位列第二。
可视化代码如下。

1. def create_city(df):2.  df1 = df[df["country"] == "中国"]3.  df1 = df1.copy()4.  df1["city"] = df1["city"].str.replace("市", "")5. 6.  df_num = df1.groupby("city")["city"].agg(count="count").reset_index().sort_values(by="count", ascending=False)7.  df_city = df_num[:10]["city"].values.tolist()8.  df_count = df_num[:10]["count"].values.tolist()9. 10.  bar = Bar(init_opts=opts.InitOpts(width="800px", height="400px"))11.  bar.add_xaxis(df_city)12.  bar.add_yaxis("", df_count)13.  bar.set_global_opts(title_opts=opts.TitleOpts(title="抖音大V城市分布TOP10", pos_left="center", pos_top="18"),14.       toolbox_opts=opts.ToolboxOpts(is_show=True, feature={"saveAsImage": {}}),15.       yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)))16.  bar.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="top", color="black"))17.  bar.render("抖音大V城市分布TOP10.html")

看完国内,就应该是国外了。
抖音上有着不少汉语讲得非常好的「歪果仁」。

 
美国居第一,不少在美国的华人会分享他们在美国生活的一些事情。
国内也有人感兴趣这方面的东西,看看国外的月亮究竟圆不圆。
哈哈说笑了,其实是让我们了解国外的生活。

抖音大V毕业学校TOP10


 
北影、中传、浙传、中戏、上戏、央美,妥妥的演艺圈大佬。
通过代码查询一下大V们的认证情况。

1. df1 = df[(df["custom_verify"] != "") & (df["custom_verify"] != "未知")]2. df1 = df1.copy()3. df_num = df1.groupby("custom_verify")["custom_verify"].agg(count="count").reset_index().sort_values(by="count", ascending=False)4. print(df_num[:20])

得到结果如下。

 
都是需要表演表达天赋的~

抖音大V简介词云


 
可以看到大部分大V都留下了商务合作的信息,利好内容创作者,如此才能双赢。
据统计,在抖音2200万以上创作者实现了超过417亿元的收入。
从创作到创益,这句话抖音讲的很好。
可视化代码如下。

1. def create_wordcloud(df, picture):2.  words = pd.read_csv('chineseStopWords.txt', encoding='gbk', sep='\t', names=['stopword'])3.  # 分词4.  text = ''5.  df1 = df[df["signature"] != ""]6.  df1 = df1.copy()7.  for line in df1['signature']:8.   text += ' '.join(jieba.cut(str(line).replace(" ", ""), cut_all=False))9.  # 停用词10.  stopwords = set('')11.  stopwords.update(words['stopword'])12.  backgroud_Image = plt.imread('douyin.png')13.  # 使用抖音背景色14.  alice_coloring = np.array(Image.open(r"douyin.png"))15.  image_colors = ImageColorGenerator(alice_coloring)16.  wc = WordCloud(17.   background_color='white',18.   mask=backgroud_Image,19.   font_path='方正兰亭刊黑.TTF',20.   max_words=2000,21.   max_font_size=70,22.   min_font_size=1,23.   prefer_horizontal=1,24.   color_func=image_colors,25.   random_state=50,26.   stopwords=stopwords,27.   margin=528.  )29.  wc.generate_from_text(text)30.  # 看看词频高的有哪些31.  process_word = WordCloud.process_text(wc, text)32.  sort = sorted(process_word.items(), key=lambda e: e[1], reverse=True)33.  print(sort[:50])34.  plt.imshow(wc)35.  plt.axis('off')36.  wc.to_file(picture)37.  print('生成词云成功!')









原文转载:http://www.shaoqun.com/a/524574.html

跨境电商:https://www.ikjzd.com/

c-tick认证:https://www.ikjzd.com/w/2074

wario:https://www.ikjzd.com/w/887


抖音数据采集、分析,可视化显示数据,粉丝画像、评论词云(附代码)短视频、直播数据实时采集接口,请查看文档:TiToData免责声明:本文档仅供学习与参考,请勿用于非法用途!否则一切后果自负。数据获取数据采集来源:TiToData,一共是有5000+抖音大V的数据信息。主要包含大V们的昵称、性别、地点、类型、点赞数、粉丝数、视频数、评论数、分享数、关注数、毕业学校、认证、简介等信息。其中粉丝最多的是
米兰网:米兰网
折扣网站:折扣网站
2019旺季来临,给亚马逊卖家的一些建议!:2019旺季来临,给亚马逊卖家的一些建议!
口述:新婚夜 老公去陪别的女人要我先睡订婚睡觉家庭:口述:新婚夜 老公去陪别的女人要我先睡订婚睡觉家庭
中美经贸磋商10条重磅内容解读,跨境电商能从中得到哪些好处?:中美经贸磋商10条重磅内容解读,跨境电商能从中得到哪些好处?