【Typescript】解析斗鱼直播源
本帖最后由 thepoy 于 2022-8-31 22:51 编辑想写一个支持多平台的解析,从斗鱼开始,嗯,当前也只支持斗鱼。
https://gitee.com/thepoy/live-stream
或
https://github.com/thep0y/live-stream
为什么写这个工具?
有人用 python 写了一个解析工具,但我扫了一眼,主要代码跟 python 无关,需要使用 pyexecjs 执行核心的构造请求参数的函数的代码。
这又是何必呢?
斗鱼的js代码是动态更新的,每次请求房间页面后生成的js代码可能都不同,每次生成的js代码都只能用几秒到十几秒的时间,过了这个时间就失效了,可能返回非法请求或返回403。
既然斗鱼的js无法用python重写,那就直接用js运行不就好了?
于是我就写了这个小工具。
仅供娱乐。
话说斗鱼是不是有病?直播源弄得跟多有价值的数据似的,也不跟人家B站学学,直播源都是明文,随便任何人调用。
# Live Stream
#### 介绍
斗鱼、B站直播源链接解析工具。
#### 安装教程
1. **安装依赖**
克隆
```bash
git clone https://gitee.com/thepoy/live-stream
```
并进入项目目录后
```bash
yarn
# 或
pnpm install
```
2. **编译安装**
```bash
yarn build
# 或
pnpm build
```
3. **windows 中需注意**
如果你在用 yarn,yarn 的命令目录可能不在 Path 中,也就是说编译安装后无法调用`live`命令,需要将 yarn 的 Scripts 目录放在用户环境变量的 Path 中。
yarn 的 bin 目录路径请用下面的命令查看:
```bash
yarn global bin
```
将输出的目录添加到环境变量后重新打开`powershell`或`cmd`就可以执行`live`了。
#### 使用说明
当前只完成了斗鱼直播源的获取,因为我偶尔用斗鱼看看直播,其他平台暂无需求,留待以后更新。
编译安装后在 npm 的全局 bin 目录中会有一个`live`命令,传入房间号即可解析出直播源:
!(https://s2.loli.net/2022/08/31/x2DLSFG8B4wjmN1.png) mscsky 发表于 2022-1-19 09:02
这个直播源可以选分辨率吗
当前输出的是默认情况下的最高分辨率,我没有想过会有人想选择较低分辨率,所以暂时没加分辨率选择功能,如果你真的有这个需求,我可以后续添加上。 @thepoy 非常感谢楼主的分享...小弟已经一年没有看到有群友能提供斗鱼直播源的解析了 {:1_923:}
但是由于是编程小白不会用python....请问楼主未来有可能把您的代码编译成一个小白可以用的exe程序吗?
万分感谢您的无私分享!!! 没用过yarn,一直用的npm, node V16.0 yarn 1.22.17
运行 yarn build 报错:
sed: 1: "./dist/main.js": invalid command code .
error Command failed with exit code 1.
目前按dev使用的, yarn run dev 99999 同样的需求
发现的供参考http://debugers.com:8888/swagger-ui.html
https://github.com/wbt5/real-url 常看斗鱼的学习一下了 辛苦啦,谢谢啦! 本帖最后由 thepoy 于 2022-1-19 08:05 编辑
快乐小风 发表于 2022-1-18 23:58
没用过yarn,一直用的npm, node V16.0 yarn 1.22.17
运行 yarn build 报错:
你是Windows系统吗?windows系统中没有 sed 命令,编绎命令需要重写,等我有时间了修改一下。 这个直播源可以选分辨率吗 thepoy 发表于 2022-1-19 07:09
你是Windows系统吗?windows系统中没有 sed 命令,编绎命令需要重写,等我有时间了修改一下。
mac 系统
暂时能用就可以, 用inia看大马猴还不错