吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1982|回复: 34
收起左侧

[其他原创] [TypeScript]斗鱼、虎牙直播源解析

  [复制链接]
thepoy 发表于 2024-8-22 17:40
本帖最后由 thepoy 于 2024-8-24 20:08 编辑

以为发52发过,原来并没有。

很多源解析的项目我觉得都挺蛋疼的,要么用python、要么用go,但多个直播平台的混淆、加密完全是用 js 写的,所以实际上使用 js 或 ts 解析直播源才是最佳方式。

仓库:https://github.com/thep0y/lsar

https://gitee.com/thepoy/lsar


安装

npm i -g lsar
yarn add global lsar
pnpm i -g lsar

使用说明

各直播平台的命令见下面示例。

  • 斗鱼
    lasr douyu 100
  • 虎牙。
    使用链接-u时一定要用英文单引号或双引号将链接包裹住,否则可能报错。
    lsar huya -r 100
    lsar huya -u 'https://www.huya.com/06016sask?&curpage=%E9%BB%91%E7%A5%9E%E8%AF%9D%EF%BC%9A%E6%82%9F%E7%A9%BA%E5%93%81%E7%B1%BB%E9%A1%B5&curlocation=%E5%85%A8%E9%83%A8%2F1'
  • B 站
    使入 cookie 和使用链接-u时一定要用英文单引号或双引号将链接包裹住,否则可能报错。
    lsar bili -r 100 'buvid3=9E0E75DA-AB78-00DC-B72A-9D56282337A829879infoc; b_nut=1723464629; ... theme_style=light'
    lsar bili -u 'https://live.bilibili.com/30632872?session_id=44ed74815a4f65086b14a6472566c873_DBCADB56-218B-4E43-872D-39ECFCF95BAD&launch_id=1000216&live_from=71001' 'buvid3=9E0E75DA-AB78-00DC-B72A-9D56282337A829879infoc; b_nut=1723464629; ... theme_style=light'
  • 抖音
    lsar douyin 100



必须贴点代码(代码是无用的,只是发帖必须有代码):

import { Command, InvalidArgumentError } from "commander";
import { Douyu, Bilibili } from "./apis";
import { Huya } from "./apis/huya";
import { fatal } from "./logger";

const program = new Command();

program
  .name("lsar")
  .description("能够获取斗鱼、B站直播源的命令行工具")
  .version("<<<<>>>>");

const myParseInt = (value: string) => {
  const parsedValue = Number(value);
  if (Number.isNaN(parsedValue)) {
    throw new InvalidArgumentError("不是一个整数");
  }
  return parsedValue;
};

program
  .command("douyu")
  .argument("<roomID>", "目标房间号(支持靓号)", myParseInt)
  .description("解析斗鱼直播源(支持靓号)")
  .action((roomID: number) => {
    const c = new Douyu(roomID);
    c.printLiveLink()
      .then()
      .catch((e) => {
        console.log(e);
      });
  });

interface BiliArg {
  roomID: number;
  url?: string;
}

program
  .command("bili")
  .description("解析B站直播源。\n可以使用房间ID或房间链接作为传入参数。")
  .option("-r, --roomID <roomID>", "目标房间号", myParseInt, 0)
  .option("-u, --url <pageURL>", "房间页面链接")
  .action((arg: BiliArg) => {
    const c = new Bilibili(arg.roomID, arg.url);
    c.printLiveLink().catch((e) => {
      console.log(e);
    });
  });

type HuyaArg = BiliArg;

program
  .command("huya")
  .description("解析虎牙直播源。")
  .option("-r, --roomID <roomID>", "目标房间号", myParseInt)
  .option("-u, --url <pageURL>", "房间页面链接")
  .action((arg: HuyaArg) => {
    if (arg.roomID === undefined && arg.url === undefined) {
      fatal("参数错误,请查阅 -h/--help 以正确传递参数");
    }
    const h = new Huya(arg.roomID, arg.url);
    h.printLiveLink().catch((e) => {
      console.log(e);
    });
  });

program.parse(process.argv);


免费评分

参与人数 8吾爱币 +14 热心值 +8 收起 理由
bajiepan + 1 + 1 我很赞同!
DCCi073 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
安道尔的鱼 + 1 + 1 我很赞同!
stysty0930 + 1 + 1 热心回复!
博爵 + 1 + 1 用心讨论,共获提升!
Bob5230 + 1 + 1 我很赞同!
wanfon + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

bajiepan 发表于 2024-8-23 12:08
B站的解析不出来
1、lsar bili -r  房间号
只输出了一条 ”选择下面的任意一条链接,播放失败换其他链接试试:“
2、lsar bili -r  直播链接
选择下面的任意一条链接,播放失败换其他链接试试:

'launch_id' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'live_from' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
星河大师 发表于 2024-8-24 20:58
DCCi073 发表于 2024-8-24 20:12
小白安装教程我倒是按照流程走下来了,后边就不会了

安装node就行了,看一下加入了环境变量。剩下的就是下载lsar.1.3.1压缩包,直接解压放在c或d根目录下就行了。直接cmd,虎牙或斗鱼输入lsar huya -r 房间号或斗鱼lsar douyu -r房间号就能获得直播链接就这么简单。抖音或b站必须加入cookie才能解析。
Qingfeng669 发表于 2024-8-22 18:26
Alanguth 发表于 2024-8-22 19:02
进来学习一下
Fwind 发表于 2024-8-22 19:24
顶帖学习
justwz 发表于 2024-8-22 21:00
GitHub上刚好有直播的源
越难越爱 发表于 2024-8-22 21:46
很好,感谢分享
baigeinan 发表于 2024-8-23 00:23
感谢分享
博爵 发表于 2024-8-23 00:36
我也一直想搞过这个玩意,不会编程。搞不定。
星河大师 发表于 2024-8-23 06:36
能不能加上抖音。
Godjk 发表于 2024-8-23 07:35
来学习了,看看有什么
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-12 07:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表