抖音直播间数据实时采集

 给大家带来一个关于抖音直播间数据实时采集的教程,采集的内容包括:点赞量、在线人数、榜1的礼物数,直播间评论数量和评论内容。

脚本思路

    抖音直播间的文字内容是可以通过节点内容提取的,所以脚本的思路基本就是获取xml,然后从中提取想要的内容。

    点赞量、在线人数、榜1的礼物数这些数据都是相对静态的,而评论信息是动图变化的,那么我们着重讲一下采集评论信息这部分。

采集评论的方法

    ①打开抖音直播间,可以手动打开,也可以使用代码跳转到指定id的直播间。

    ②根据节点id找到评论内容:

Import "jsdvip.luae"
jsdvip.StartServer 
Dim Ret,Info()
Ret = jsdvip.FindNodeS("By.res('com.ss.android.ugc.aweme:id/text').text($('.*:.*'))", "node")
If Ret Then
    Info = jsdvip.GetNodeInfoAll("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的礼物数、留言数写入到另外一个文本里面。

关于脚本

    这个脚本可以帮我们记录一个直播间开播的实时数据,分析直播的数据情况,当然也可以针对固定内容的评论进行回复。

转载自微信公众号:3分钟学堂

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注