声明:(如果侵犯到你的权益联系我,我会马上删除)
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!q 2766958292
前言:
哎本来不想写的,不过太无聊学校wifi崩了,刷了3天抖音。昨天睡觉床板硬的我头皮发麻,一晚上没睡好,凌晨4点多起来看球还输了我真是🤡。这几天真tama烦。废话不说了开始发车。
1.逆向过程
1.1.安装protobuf
我也是看别人教程加上自己思路。下载protobuf,然后pycharm下载插件,同时pip下载protobuf。
1.2.编写protobuf
信息入口如图1.2.1.如图1.2.2是数据处理过程。大致过程是hex数据转成正常字节数据然后解压缩,最后封装成response格式。pushFrame格式如图1.2.3。然后解压缩接着在编写一个response的protobuf最后根据信息类型接收数据。如图1.2.4我也没仔细分析根据英文应该是用户进入直播间信息我们编写一个protobuf 接着user,和content字段就可以了获得弹幕了。
1.3. websocket长连接
def run():
webSocketUrl = f'#########################signature={signature}'
websocket.enableTrace(False)
h = {
}
ws = websocket.WebSocketApp(
webSocketUrl, on_message=onMessage, on_error=onError, on_close=onClose,
on_open=onOpen,
header=h
)
print("run")
ws.run_forever()
run()
1.4.signature逆向
他是一个md5。里面包含一些房间参数信息把环境补上就可以通过。
1.5.结果
我只要了WebcastChatMessage的数据,就是聊天数据其他就不要了,中间都是在github cv的如果你明白使用原理相信可以成功。我也没有execjs测试直接copy了测试。
1.6.其他方法
当然爬取弹幕数据我很看见很多人用rpc也是很不错的选择,如果有时间我在出。
1.7.总结
1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。
2.某音的弹幕采集很多人都开源了所以我也是随便写写如果有需要我也是用他们开源的我记得码云,github在上都下载下来后直接打开web直播间就可以采集了效果很强。当然如果你要自己弄建议照着别人写更好,我就是自己写了4-5个message(protobuf)然后github cv别人的代码逆向一下就好了。
3.匿名直播间采集我还没了解,毕竟我也才学了probuf刚好满一天就会点皮毛就更别说那些高级词汇了。