获取流媒体视频列表信息
本项目是一个获取流媒体视频列表信息的工具。
主要支持**各大流媒体平台点播视频的获取,个人上传的视频不支持(不测试,实际自行测试)。
接口主要使用app和TV端的接口,绝大部分不需要额外参数,不保证长期有效,如有问题请提交issue或者pr。
目前支持以下网站:
│ config.yaml
│ trpc_go.yaml //这两个配置文件必须有,注意要和软件运行目录放一起
│ go.mod
│ go.sum
│ LICENSE.txt
│ README.md
├─.github
│ └─workflows //在线自动test或者编译,建议fork后自行运行或修改,在线测试不一定准确
├─cmd
│ ├─client
│ │ a.http
│ │ a.sh
│ │ client.go
│ │
│ └─server
│ a.sh //win 下交叉编译命令 shell
│ app.go
│
├─config
│ config.go
│
├─img
│ img.png
│
├─server
│ │ data.go
│ │ ddddlist.pb.go
│ │
│ ├─proto
│ │ ddddlist.proto //proto文件 很重要
│ │ ddddlist.sh //编译trpc代码命令行
│ │
│ └─trpc
│ ddddlist.trpc.go
│ server.go
│
├─tmp
│ └─log //运行日志存放目录
├─utils
│ │ tool.go
│ │
│ ├─jwt
│ │ jwt.go
│ │ jwt_test.go
│ │
│ └─sesssion
│ session.go
│
└─website
│ web.go
│
├─Bilibili
│ b.go //主体,建议自行修改,增加字段优化代码
│ b_test.go //test文件 修改代码后建议先test
│
├─Friday
│ Friday.go
│ Friday_test.go
│
├─Hami
│ hami.go
│ hami_test.go
│
├─IQ
│ iq.go
│ iqy.go
│ iqy_test.go
│ iq_test.go
│
├─KKTV
│ kktv.go
│ kktv_test.go
│
├─LETV
│ letv.go
│ letv_test.go
│
├─Litv
│ litv.go
│ litv_test.go
│
├─MGTV
│ mgtv.go
│ mgtv_test.go
│
├─MIGU
│ mg.go
│ mg_test.go
│
├─MytvSuper
│ mytvsuper.go
│ mytvsuper_test.go
│
├─MyVideo
│ myvideo.go
│ myvideo_test.go
│
├─QQTV
│ │ basic_data.pb.go
│ │ env.pb.go
│ │ feed_data.pb.go
│ │ request_base.pb.go
│ │ trpc_video_detail_list.pb.go
│ │ TXTV.go
│ │ TXTV_test.go
│ │ WETV.go
│ │ wetv.pb.go
│ │
│ └─proto //WETV 的trpc pb文件,自己实现了trpc组包,建议阅读trpc文档,自行重新优化
│ basic_data.proto
│ env.proto
│ feed_data.proto
│ request_base.proto
│ trpc_video_detail_list.proto
│ wetv.proto
│
├─VIKI
│ viki.go
│ viki_test.go
│
├─VIU
│ viu.go
│ viu_test.go
│
├─XiGUA
│ xg.go
│ xg_test.go
│
├─yangshipin
│ │ yangshipin.pb.go
│ │ ysp.go
│ │ ysp_test.go
│ │
│ ├─proto
│ │ yangshipin.proto //web 端
│ │
│ └─tars //app 端 协议暂未开源 建议自行研究 tx jce(tars)
│ ONATVDetailsVideoSquareListItem.tars
│ RequestCommand.tars
│ ResponseCommand.tars
│ VideoDetailsRequest.tars
│ VideoDetailsResponse.tars
│
└─YOUKUTV
yk.go
yk_test.go
安装go,并设置好环境变量,然后执行以下命令
git clone https://github.com/Tontonnow/ddddhmlist.git
修改config.yaml(可选,主要是部分网站需要代理)
cd ddddhmlist
go run ./cmd/server
然后访问http://127.0.0.1:8001/api/v1/ddddlist?url=https://v.youku.com/v_show/id_XNTk1MjQxNjQzMg==.html
config.yaml 程序配置文件 目前就一个proxy字段有用,其他的暂时没写
ip:port/api/v1/ddddlist?url=xxx
*请求方式:GET POST TRPC * 具体参考client
json回复:
根对象:
字段 | 类型 | 内容 | 备注 |
---|---|---|---|
code | num | 返回值 | 0:成功 1:内部错误 2:url不支持支持的url 请参考test文件里面的地址 |
message | str | 返回信息 | 错误信息中包含id,请根据id排除,以及日志文件排除 |
data | obj | 信息本体 | 具体看proto文件 目前只返回了必要的信息 |
- fork 本项目
- 创建 你的特性分支 (
git checkout -b feature/xxxx
) - 提交 你的改动 (
git commit -am 'Add some xxx'
) - 推送 到分支 (
git push origin feature/xxxx
) - 提交一个 Pull Request
- 等待作者合并
- 欢迎star
- 欢迎提交issue
- 欢迎提交pr
- 请不要提交无意义的pr
- 提交pr请先test
- 新增api建议使用trpc 或者grpc 可以同时支持http和rpc
- 新增的网站请在readme里面更新
- 不接受解析网页,只接受api解析,建议使用TV、app端或者更新很少的接口
- 建议协议格式为json,xml,protobuf等,尽量不需要登录
- 有些网站需要代理,请自行修改config.yaml 如hami viu
- 优酷的mtop接口建议在国内使用,国外可能会有问题
- iq和hami的使用TV端接口,token可能会失效(7天或更长)
- 初版发布
- 增加语言地区选择
- 增加国外网站(nflx,disney等)