基于websocket协议的某音直播间数据采集

这篇具有很好参考价值的文章主要介绍了基于websocket协议的某音直播间数据采集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

声明 

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

一 什么是websocket

二 websocket的原理

三 WebSocket 优点:

四 websocket与http的关系

相同点:

不同点:

五 websocket解决的问题

http存在的问题

websocket的改进

WebSocket有以下特点:

六 案例:某音直播间数据抓取

重点:

结果:

总结

声明 

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

常用协议:

常用通信协议有http/https, websocket/wss等等,常用的数据传输协议有json,xml,protobuf,本章内容讲解基于websocket协议和protobuf协议的数据抓取.

websocket与wss的关系类似http和https  websocket采用双向通信模式,客户端与服务器建立连接后,无论是客户端还是服务端都可以随时将数据发送给对方.

一 什么是websocket

1WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)

2它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的

3Websocket是一个持久化的协议

4在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

二 websocket的原理

1websocket约定了一个通信的规范,通过一个握手的机制,客户端和服务器之间能建立一个类似tcp的连接,从而方便它们之间的通信

2在websocket出现之前,web交互一般是基于http协议的短连接或者长连接

3websocket是一种全新的协议,不属于http无状态协议,协议名为"ws"

三 WebSocket 优点:

1较少的控制开销:只需要进行一次握手,携带一次请求头信息即可,后续只传输数据即可,相比 HTTP 每次请求都携带请求头,WebSocket 非常省资源。

2更强的实时性:由于服务器可以主动推送消息,这使得延迟变得可以忽略不计,相比 HTTP 轮询的时间间隔,WebSocket 可以在相同的时间内进行多次传输.

四 websocket与http的关系

基于websocket协议的某音直播间数据采集,js逆向,websocket,网络,网络协议,javascript,python

相同点:

  1. 都是基于tcp的,都是可靠性传输协议

  2. 都是应用层协议

不同点:

  1. WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息

  2. HTTP是单向的

  3. WebSocket是需要浏览器和服务器握手进行建立连接的

  4. 而http是浏览器发起向服务器的连接,服务器预先并不知道这个连接

五 websocket解决的问题

http存在的问题

http是一种无状态协议,每当一次会话完成后,服务端都不知道下一次的客户端是谁,需要每次知道对方是谁,才进行相应的响应,因此本身对于实时通讯就是一种极大的障碍 http协议采用一次请求,一次响应,每次请求和响应就携带有大量的header头,对于实时通讯来说,解析请求头也是需要一定的时间,因此,效率也更低下 最重要的是,需要客户端主动发,服务端被动发,也就是一次请求,一次响应,不能实现主动发送

websocket的改进

一旦WebSocket连接建立后,后续数据都以帧序列的形式传输。在客户端断开WebSocket连接或Server端中断连接前,不需要客户端和服务端重新发起连接请求。在海量并发及客户端与服务器交互负载流量大的情况下,极大的节省了网络带宽资源的消耗,有明显的性能优势,且客户端发送和接受消息是在同一个持久连接上发起,实现了“真·长链接”,实时性优势明显。

基于websocket协议的某音直播间数据采集,js逆向,websocket,网络,网络协议,javascript,python

WebSocket有以下特点:

是真正的全双工方式,建立连接后客户端与服务器端是完全平等的,可以互相主动请求。而HTTP长连接基于HTTP,是传统的客户端对服务器发起请求的模式。 HTTP长连接中,每次数据交换除了真正的数据部分外,服务器和客户端还要大量交换HTTP header,信息交换效率很低。Websocket协议通过第一个request建立了TCP连接之后,之后交换的数据都不需要发送 HTTP header就能交换数据,这显然和原有的HTTP协议有区别所以它需要对服务器和客户端都进行升级才能实现(主流浏览器都已支持HTML5)

六 案例:某音直播间数据采集

思路:本地建立websocket通信,通过在浏览器注入js代码实现浏览器端(客户端)与本地(服务端)的数据转发,从而达到采集直播间数据的功能.

python 代码接受浏览器端返回的数据

import websockets
import asyncio
# 发送  加密参数
async def echo(websocket):
    message = '我是发送给客户端的信息'
    # 发送数据
    await  websocket.send(message)
    return  True

# 接收  客户端返回的数据
async def recv_msg(websocket):
    while 1:
        # 接收
        resv_text = await websocket.recv()
        print(resv_text)

async def main_run(websocket):
    await echo(websocket)
    await recv_msg(websocket)

stat_sever = websockets.serve(main_run,'127.0.0.1',9999)
print('成功建立连接')
loop = asyncio.get_event_loop()
loop.run_until_complete(stat_sever)
# 保持长连接 需要不断的监听返回的数据
loop.run_forever()

重点:

重点是如何找到浏览器端返回的加密数据并且找到解密位置然后注入js代码进行数据转发,这里就不贴出具体位置了,提示,从这个入口进入

基于websocket协议的某音直播间数据采集,js逆向,websocket,网络,网络协议,javascript,python

结果:

贴一张结果图吧基于websocket协议的某音直播间数据采集,js逆向,websocket,网络,网络协议,javascript,python

总结

1出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来.

2本人写作水平有限,如有讲解不到位或者讲解错误的地方,还请各位大佬在评论区多多指教,共同进步.技术探讨加v lyaoyao__i(两个_,本人)

3本篇分享到这里就结束了,欢迎大家关注下期,我们不见不散☀️☀️😊文章来源地址https://www.toymoban.com/news/detail-645417.html

到了这里,关于基于websocket协议的某音直播间数据采集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vLive虚拟直播喊话文旅直播间

    vLive虚拟直播喊话文旅直播间 vLive虚拟直播喊话文旅直播间

    2024年02月01日
    浏览(29)
  • 【开箱即用】开发了一个基于环信IM聊天室的Vue3插件,从而快速实现仿直播间聊天窗功能

    由于看到有部分的需求为在页面层,快速的引入一个包,并且以简单的配置,就可以快速实现一个聊天窗口,因此尝试以 Vue3 插件的形式开发一个轻量的聊天窗口。 这次简单分享一下此插件的实现思路,以及实现过程,并描述一下本次插件发布 npm 的过程。 Vue3 pnpm Typescript

    2024年02月09日
    浏览(33)
  • UDP实现聊天直播间 chatroom

    1.memcmp() 函数 memcmp() 函数用于比较两个内存区域前 n 个字节的内容。 它接受三个参数: •const void *s1:指向第一个内存区域的指针。 •const void *s2:指向第二个内存区域的指针。 •size_t n:要比较的字节数。 返回值: memcmp() 函数返回一个整数值,表示两个内存区域内容的比

    2024年04月11日
    浏览(34)
  • 抖音直播间弹幕rpc学习

    目标url 随便找个直播间即可。 https://live.douyin.com/198986091107 接口分析 首先并没有在xhr下找到对应的接口 因为采用了websocket来传输信息。切换到ws即可看到 消息下,可以看到16进制的数据在源源不断地增加。 那么我们只要找到反序列化后的数据,再发送到本地的socket服务,就

    2023年04月22日
    浏览(67)
  • 抖音手机实景无人直播间怎么搭建?

    手机无人直播 已成为用户直播和商家直播带货的一项热门技术趋势,为消费者提供了全新的观看体验。无人直播,顾名思义,即通过无人直播软件或数字人来进行无人直播。这一技术的广泛应用,不仅为短视频渠道带来了更丰富的玩法,也为各种领域的商户提供了有效的带货

    2024年02月06日
    浏览(36)
  • python虚拟数字人直播间带货

    本开源项目名为“数字人控制器”。意为,本项目可以充当时下流行的虚拟人、虚拟主播、数字人,等仿人形数字形象的内核部分。 ​ 使用UE、C4D、DAZ、LIVE2D等三维引擎软件开发的数字形象可以与本“数字人控制器”对接,从而实现虚拟主播、数字导游、数字助手等。我们提

    2024年02月04日
    浏览(24)
  • GPT虚拟直播Demo系列(二)|无人直播间实现虚拟人回复粉丝

    虚拟人和数字人是人工智能技术在现实生活中的具体应用,它们可以为人们的生活和工作带来便利和创新。在直播间场景里,虚拟人和数字人可用于直播主播、智能客服、营销推广等。接入GPT的虚拟人像是加了超强buff,具备更强大的自然语言处理能力和智能对话能力,可以实

    2024年02月06日
    浏览(48)
  • 销量破亿,董洁直播间凭何出圈?

    近期,“没有五位数走不出”的董洁直播间火了…… 纵观这几年各大平台直播带货,火已不是什么新鲜事,而为何董洁的直播能火上热搜呢? 本期,千瓜将解析董洁直播,同品牌方聊聊小红书直播的那些事儿。 董洁「种草式」直播 开启小红书直播新生态 据小红书官方数据

    2024年02月06日
    浏览(35)
  • 在抖音直播间,项目被资本割韭菜

    VC们也开始直播了。 想象中高高在上、西装革履的投资人对着镜头吆喝项目直投与连麦加群,颇有些魔幻现实的影子。但如果有心,在抖音上,时常可以发现诸如创投机构、XX投资人的直播,其中不乏已然有知名度的部分主体,这一趋势,在今年正在迅速蔓延。 论及缘由,在

    2024年02月16日
    浏览(35)
  • 「GPT虚拟直播」实战篇|GPT接入虚拟人实现直播间弹幕回复

    ChatGPT和元宇宙都是当前数字化领域中非常热门的技术和应用。结合两者的优势和特点,可以探索出更多的应用场景和商业模式。例如,在元宇宙中使用ChatGPT进行自然语言交互,可以为用户提供更加智能化、个性化的服务和支持;在ChatGPT中使用元宇宙进行虚拟现实体验,可以

    2024年02月06日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包