iOS端(OC)获取虎牙直播真实地址

时间:2024-03-06 22:04:49

iOS端(OC)获取虎牙直播真实地址

HuyaData

博客园地址

码云直达HuyaData (GitHub太tm卡了, 弃了)

这是一个自学的demo, 简单解析虎牙html数据, 显示直播列表, 拼接获取真实的直播地址. 获取到的地址可以直接放到IINA等app在线播放(最新版本已经内置播放器, 可以mac播放)

参考

本来我参考的不会写代码的菜鸡程序猿-解决MAC系统观看虎牙直播,发热卡顿问题。, 不过虎牙更新了最新的规则, 导致拼接的地址无法播放, 无奈继续寻找, github大佬整理的huya地址解析 它是获取https://m.huya.com的数据以后, 重新处理参数, 加密, 之后拼接新的播放地址, 不过原文是Python开发, 我这里用OC实现

开发背景

之前, 本人电脑MacBook pro 15款, 然后升级的catalina最新版


我的电脑



用谷歌浏览器看虎牙直播的时候, 风扇猛转, 分分钟温度上99, 无奈上网寻找解决方法

我在直播窗口右击, 显示的也是h5

网页


但是我发现我换Safari看直播的时候, 它让我装flash, 可能这个播放器还是用的flash

扯远了, 我找到上面参考博客, 然后博主是解析的直播页面, 拼接出直播流的url, 然后用本地播放器播放

播放器你可以选择vlc或者iina, 都行

实现

原理我知道了, 它是Python实现的, 我就想着用OC来实现. 现在Xcode支持直接开发在mac端运行的iOS应用, 所以, 我们直接上iOS

我没有所有直播都抓, 就抓了一些我常看的, 配置文件在ProTypesList.json里面, 一看就很清楚

本地配置


  1. 简单的网络请求, 获取数据
  2. 利用OCGumbo解析HTML, 教程-icc_tips-iOS解析html标签内容-OCGumbo, 这个库使用的时候, 注意gumbo文件夹中的.c文件, 在Xcode中改成Object-c file

    文件修改


3. 简单解析直播列表并展示, 点击cell跳转页面获取直播网址

手机模拟器演示


4. 勾选了mac平台, 跑了一下, 删除了几个不支持的库, 效果还行(不过好像不支持上下滑动, 难道需要我点右边的滑动条?)

勾选mac端


mac端演示


改进

目前只有列表, 以及直播地址

  1. 还没有实现手机端播放直播的功能目前已经支持直接播放了
  2. 我其实一开始是想实现mac端开发(ios项目勾线mac平台, 总归缺点意思), 解析到直播url的时候通过命令唤起IINA, 但是因技术局限性, 未实现, 要是大佬们知道怎么实现的, 可以联系我