你好,我是公众号三分钟学堂的郭立元。
提供实时收集抖音(抖音)直播数据的教程。其中包括点赞量、在线人数、1号礼物数、直播评论数、评论内容等。
脚本思路
抖音直播间的文字内容是可以通过节点内容提取的,所以脚本的思路基本就是获取xml,然后从中提取想要的内容。
点赞量、在线人数、榜1的礼物数这些数据都是相对静态的,而评论信息是动图变化的,那么我们着重讲一下采集评论信息这部分。
采集评论的方法
①打开抖音直播间,可以手动打开,也可以使用代码跳转到指定id的直播间。
②根据节点id找到评论内容:
Import "j;
j
Dim Ret,Info()
Ret = j("By.res('com.;).text($('.*:.*'))", "node")
If Ret Then
Info = j("node")
If info Then
For i = 1 To UBOUND(Info[1]) + 1
TracePrint "公屏信息",Info[1][i]
next
End If
End If
代码中我填一个正则匹配,过滤掉了“某某某 来了”这类系统评论内容。
②写入到文本
写入文本有一个难点,每次在获取到评论内容以后,先要判断是不是重复内容,如果不是重复内容在把它写入进文本。
处理方法是这样的~
获取到评论信息,先不要写入文本,先要判断文本是不是空的,如果是就不用判断重复直接写入,如果不是的话,看看有没有5条信息,这里之所以是5,是因为直播间一般最多同时显示四五条信息,再多就会被挤出屏幕。
如果文本内信息数在5条信息以内,直接遍历文本中所有信息,和获取到评论进行比对,没有重复直接写入到文本第1行,否则直接pass掉。
如果文本内容信息数超过了5条,那么只去比对前五条信息,这么做的好处就是可以节省时间。随着我们写入信息,文本中的内容会越来越多,那么如果遍历所有文本进行比对,会非常耗时。
扩展思路
除了采集评论以外,还要有别的信息采集:点赞量、在线人数、榜1的礼物数,这些数据的采集方法和采集评论差不多,也是从xml中提取,不过我们不需要实时采集,可以每隔10秒钟采集一次,当然也可以每5分钟采集一次。
这里有涉及到一个知识点:定时执行代码。
Dim t=TickCount()
TracePrint "开始计时"
Do
Delay 1000
//执行你的代码
If TickCount()-t>5000 Then
TracePrint "到时间了"
Exit Do
End If
Loop
通过定时功能,我们每10秒把采集的点赞量、在线人数、榜1的礼物数、留言数写入到另外一个文本里面。
关于脚本
这个脚本可以帮我们记录一个直播间开播的实时数据,分析直播的数据情况,当然也可以针对固定内容的评论进行回复。