干货:手把手教你——某宝直播弹幕爬虫

编程入门 行业动态 更新时间:2024-10-24 14:25:26

<a href=https://www.elefans.com/category/jswz/34/1767986.html style=干货:手把手教你——某宝直播弹幕爬虫"/>

干货:手把手教你——某宝直播弹幕爬虫

前言

公司有通过淘宝直播间短链接来爬取直播弹幕的需求, 奈何即便google上面也仅找到一个相关的话题, 还没有答案. 所以只能自食其力了.


我们先看一下爬虫的最终效果:

下面我们来抽丝剥茧, 重现一下调研过程.

不知道该如何做的朋友,我还是推荐下java学习群:587372254,首先你要有基础,其次不管你是小牛还是大牛,都挺欢迎,群里每天都会分享java相关干货。

页面分析

直播间地址在分享直播时可以拿到:

弹幕一般不是websocket就是socket. 我们打开dev tools过滤ws的请求即可看到websocket地址:

提一下斗鱼: 它走的是flash的socket, 我们就算打开dev tools也是懵逼, 好在斗鱼官方直接开放了socket的API.

我们继续查看收到的消息, 发现消息的压缩类型compressType有两种: COMMON和GZIP. data的值肯定就是目标消息了, 看起来像经过了base64编码, 解密过程后面再说.

现在我们首先要解决的问题是如何拿到websocket地址. 分析一下html source, 发现可以通过其中不变的部分查找到脚本:

然鹅, 拿到这块整个的脚本格式化之后发现, 原始代码明显是模块化开发的, 经过了打包压缩. 所以我们只能分析模块内一小块代码, 这是没有意义的.

但是我们可以观察到不同的直播间websocket地址唯一不同的只有token, 所以我们可以想办法拿到token. 当然这是很恶心的环节, 完全没有头绪, 想到的各种可能性都失败了. 后面像无头苍蝇一样看页面发起的请求, 竟然给找到了...

token是通过api请求获取的, api地址是:

.mediaplatform.live.encryption/1.0/

好了那websocket地址的问题解决了, 我们开始写爬虫吧.

编写爬虫

看看api的query string那一堆动态参数, 普通爬虫就别想了, 我们祭出神器: puppeteer.

更多推荐

干货:手把手教你——某宝直播弹幕爬虫

本文发布于:2024-03-06 02:04:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714066.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:干货   爬虫   手把手教你   弹幕

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!