Golang短视频去水印:抖音,皮皮虾,火山,微视,最右,快手,全民小视频,皮皮搞笑,西瓜视频,虎牙,梨视频,acfun,好看视频...
* 支持平台 * 安装 * 命令行使用 * Docker * 依赖模块
Golang短视频去水印, 视频目前支持22个平台, 图集目前支持4个平台, 欢迎各位Star。
ps: 使用时, 请尽量使用app分享链接, 电脑网页版未做测试.
其他语言版本
支持平台
图集
| 平台 | 状态 | |-----|----| | 抖音 | ✔ | | 快手 | ✔ | | 小红书 | ✔ | | 皮皮虾 | ✔ | | 微博 | ✔ |图集 LivePhoto
| 平台 | 状态 | |-----|----| | 小红书 | ✔ |视频
| 平台 | 状态 | |----------|----| | 小红书 | ✔ | | 皮皮虾 | ✔ | | 抖音短视频 | ✔ | | 火山短视频 | ✔ | | 皮皮搞笑 | ✔ | | 快手短视频 | ✔ | | 微视短视频 | ✔ | | 西瓜视频 | ✔ | | 最右 | ✔ | | 梨视频 | ✔ | | 度小视(原全民) | ✔ | | 逗拍 | ✔ | | 微博 | ✔ | | 绿洲 | ✔ | | 全民K歌 | ✔ | | 6间房 | ✔ | | 美拍 | ✔ | | 新片场 | ✔ | | 好看视频 | ✔ | | 虎牙 | ✔ | | AcFun | ✔ | | 央视网 | ✔ | | 哔哩哔哩 | ✔ | | 腾讯视频 | ✔ | | 搜狐视频 | ✔ |安装
// 根据分享链接解析
res, _ := parser.ParseVideoShareUrl("分享链接")
fmt.Printf("%#v", res)
// 根据视频id解析 res2, _ := parser.ParseVideoId(parser.SourceDouYin, "视频id") fmt.Printf("%#v", res2)
命令行使用
编译安装后,可通过 parse-video 命令使用,开发阶段可用 go run main.go 代替。
子命令
serve - 启动 HTTP 解析服务(默认命令)
# 默认监听 8080 端口
go run main.go
自定义端口
go run main.go serve --port 9090
开启 basic auth 认证
export PARSEVIDEOUSERNAME=basicauthusername
export PARSEVIDEOPASSWORD=basicauthpassword
go run main.go serve
不带子命令时默认执行serve,--port/--version等全局选项可直接使用。
parse - 解析视频分享链接
# 解析单个链接
go run main.go parse "https://v.douyin.com/xxxxx"
也可直接传入包含链接的分享文案
go run main.go parse "7.87 Pjm:/ 复制打开抖音 https://v.douyin.com/xxxxx"
批量解析(传入多个链接)
go run main.go parse "链接1" "链接2" "链接3"
从文件读取链接(每行一个)
go run main.go parse --file links.txt
从标准输入读取
echo "https://v.douyin.com/xxxxx" | go run main.go parse -f -
JSON 格式输出
go run main.go parse --format json "分享链接"
解析并下载媒体文件到当前目录
go run main.go parse --download "分享链接"
下载到指定目录
go run main.go parse -d -o ./downloads "分享链接"
id - 根据视频 ID 解析
# 通过平台 + 视频 ID 解析
go run main.go id --source douyin "视频ID"
JSON 格式输出
go run main.go id --source douyin --format json "视频ID"
解析并下载
go run main.go id --source douyin -d "视频ID"
--source 为必填参数,可用值可通过解析失败时的错误提示查看。
version - 查看版本
go run main.go version
全局选项
| 选项 | 说明 | |------|------| | --port, -p | 服务监听端口(默认 8080,serve 命令) | | --version | 显示版本信息 |
解析命令通用选项(parse / id)
| 选项 | 说明 | |------|------| | --format | 输出格式:text(默认)、json | | --download, -d | 下载解析到的媒体文件(视频、图集、封面、音乐) | | --output-dir, -o | 下载文件保存目录(默认 .,即当前目录) |
parse 独有选项
| 选项 | 说明 | |------|------| | --file, -f | 从文件读取链接(每行一个,- 代表 stdin) |
Docker
获取 docker imagedocker pull wujunwei928/parse-video
运行 docker 容器, 端口 8080
docker run -d -p 8080:8080 wujunwei928/parse-video
自定义端口运行
docker run -d -p 9090:9090 wujunwei928/parse-video -port 9090
运行docker容器,开启basic auth认证
docker run -d -p 8080:8080 -e PARSEVIDEOUSERNAME=basicauthusername -e PARSEVIDEOPASSWORD=basicauthpassword wujunwei928/parse-video
设置 HTTP 代理(所有解析请求通过代理发送)
# 无认证代理 docker run -d -p 8080:8080 -e PARSEVIDEOPROXY=http://proxy.example.com:端口 wujunwei928/parse-video
有认证代理
docker run -d -p 8080:8080 -e PARSEVIDEOPROXY=http://user:pass@proxy.example.com:端口 wujunwei928/parse-video
查看前端页面 访问: http://127.0.0.1:8080/
请求接口, 查看json返回
curl 'http://127.0.0.1:8080/video/share/url/parse?url=视频分享链接' | jq 返回格式 { "author": { "uid": "uid", "name": "name", "avatar": "https://xxx" }, "title": "记录美好生活#峡谷天花板", "video_url": "https://xxx", "music_url": "https://yyy", "cover_url": "https://zzz", "images": [], "imagelivephotos": [] } | 字段名 | 说明 | |-------------------------------|---------------------| | author.uid | 视频作者id | | author.name | 视频作者名称 | | author.avatar | 视频作者头像 | | title | 视频标题 | | video_url | 视频无水印链接 | | music_url | 视频音乐链接 | | cover_url | 视频封面 | | images.[index].url | 图集图片地址 | | images.[index].livephotourl | 图集图片 livePhoto 视频地址 | 字段除了视频地址, 其他字段可能为空
依赖模块
| 模块 | 作用 | |--------------------------------------------------------------------------|------------------| | github.com/gin-gonic/gin | web框架 | | github.com/go-resty/resty/v2 | HTTP 和 REST 客户端 | | github.com/tidwall/gjson | 使用一行代码获取JSON的值 | | github.com/PuerkitoBio/goquery | 类jQuery语法解析html页面 |go get github.com/gin-gonic/gin
go get github.com/go-resty/resty/v2
go get github.com/tidwall/gjson
go get github.com/PuerkitoBio/goquery