求个抓取某音直播弹幕的源码

查看 97|回复 9
作者:高锰酸钾   
朋友求我帮忙写个python抓弹幕的源码,原因是他打算直播带货,怕自己怠慢了金主,没看到金主弹窗。
    所以希望能够在另外显示弹幕和发弹幕信息的人(我不是很了解,如果不行就算了)。
    本人精力有限,这块也一知半解,所以求论坛上哪位有空做一个,希望带源码,最好是能填入直播间号能尝试抓取运行成功的。附上软件包版本号,不然真怕有些软件包版本不一样,给朋友时候他运行不了。
    不是我给不了更多悬赏,是有上限。谢谢。
大家好,在此收集抓取直播弹幕
有效期截止到2024年6月19日10:28,麻烦在此之前点击以下链接将文件发送给我,支持发送任意格式的文件,感谢~
链接:https://pan.baidu.com/disk/main#/transfer/send?surl=AC0AAAAAABJVWw
来自:batandman

弹幕, 源码

yingzi4f   

"[i]
要输出什么,源码里面自己改
[i]
bgwu666   

在论坛中搜了一下关键词:抖音、弹幕,看到一个比较新的帖子,或许会用得到。
https://www.52pojie.cn/thread-1930498-1-1.html
高锰酸钾
OP
  


bgwu666 发表于 2024-6-12 10:37
在论坛中搜了一下关键词:抖音、弹幕,看到一个比较新的帖子,或许会用得到。
https://www.52pojie.cn/thr ...

我给朋友用的,他想用python。我要是自己会写就好了。
boy666   

https://github.com/HaoDong108/DouyinBarrageGrab
亲测可用,需要过滤哪些信息在WssBarrageService.exe.config配置就行:
[i]
高锰酸钾
OP
  


boy666 发表于 2024-6-12 12:34
https://github.com/HaoDong108/DouyinBarrageGrab
亲测可用,需要过滤哪些信息在WssBarrageService.exe.c ...

哥是python源码吗?
jamosnet   

boy666 推荐的这是 c# 做的,只能运行在win系统上 ,作者提供了python 接口
https://github.com/HaoDong108/DouyinBarrageGrab/blob/main/Demos/Python/ws.py
[Python] 纯文本查看 复制代码import asyncio
import json
from jsonpath import jsonpath
import websockets
# 1用户发言#2用户点赞#3用户入房#4关注主播#5用户礼物#6人数统计
'''
str(fid[0:2])=="403": #字符串提取方便自定义命令
'''
def msg(data):
    global close
    load_json_data = json.loads(data.get("Data"))
    用户名 = jsonpath(load_json_data, '$.User.Nickname')
    用户等级 = jsonpath(load_json_data, '$.User.PayLevel')
    粉丝团 = jsonpath(load_json_data, '$.User.FansClub.ClubName')
    用户发言 = jsonpath(load_json_data, '$.Content')
    if 用户发言[0] == "#关闭":
        close = False
    else:
        print(用户名[0])
        print(用户等级[0])
def praise(data):  # type2
    load_json_data = json.loads(data.get("Data"))
    用户点赞 = jsonpath(load_json_data, '$.Content')
    print("感谢" + 用户点赞[0])
def welcome(data):  # type3
    load_json_data = json.loads(data.get("Data"))
    用户名 = jsonpath(load_json_data, '$.User.Nickname')
    粉丝团 = jsonpath(load_json_data, '$.User.FansClub.ClubName')
    if 粉丝团[0] == "Reset":
        print("欢迎粉丝:" + 用户名[0])
    else:
        print("欢迎:" + 用户名[0])
def thank(data):  # type5
    load_json_data = json.loads(data.get("Data"))
    粉丝团 = jsonpath(load_json_data, '$.User.FansClub.ClubName')
    用户送礼 = jsonpath(load_json_data, '$.Content')
    # txt1 = txt.replace("主播", "黎公子") #字符串替换功能方便拓展功能
    if 粉丝团[0] == "Reset":
        print("感谢老板:" + 用户送礼[0])
    else:
        print("感谢:" + 用户送礼[0])
def check(data):  # type6
    load_json_data = json.loads(data.get("Data"))
    房间统计 = jsonpath(load_json_data, '$.Content')
    print(房间统计[0])
def check_json(json_data):
    Token = json_data.get("Type")  # 标签类型
    if Token == 1:  # 1用户发言
        msg(json_data)
    elif Token == 2:  # 2用户点赞
        praise(json_data)
    elif Token == 3:  # 3用户入房
        welcome(json_data)
    elif Token == 4:  # 感谢关注
        print(str(json_data))
    elif Token == 5:  # 5用户礼物
        thank(json_data)
    elif Token == 6:  # 6人数统计
        check(json_data)
    else:
        print(json_data)
async def main():
    global close
    async with websockets.connect("ws://127.0.0.1:8888/", ping_interval=None) as ws:
        await ws.send("token")
        close = True
        while close is True:
            result = await ws.recv()
            check_json(json.loads(result))
        await ws.close()
close = True
asyncio.run(main())
高锰酸钾
OP
  


jamosnet 发表于 2024-6-13 00:18
boy666 推荐的这是 c# 做的,只能运行在win系统上 ,作者提供了python 接口
https://github.com/HaoDong10 ...

这代码我放在pycharm64运行报错了,找不到json这个软件包。其他错误应该是定义有问题。
yingzi4f   

带货的话,我到有解决方案,  弹幕控制OBS 实现场景切换, 弹幕AI语音回复 支持200中语音, 支持录音回复。
根据指定的弹幕内容,播报指定的话术...
高锰酸钾
OP
  


yingzi4f 发表于 2024-6-13 11:52
带货的话,我到有解决方案,  弹幕控制OBS 实现场景切换, 弹幕AI语音回复 支持200中语音, 支持录音回复 ...

是python源代码能运行吗?可以你就发我网盘。可以我就给你。主要我自己也不会,加上是给朋友用的。一步到位,不然以后还要我解决。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部