Golang短视频去水印, 视频目前支持22个平台, 图集目前支持4个平台, 欢迎各位Star。
ps: 使用时, 请尽量使用app分享链接, 电脑网页版未做测试.
| 平台 | 状态 |
|---|---|
| 抖音 | ✔ |
| 快手 | ✔ |
| 小红书 | ✔ |
| 皮皮虾 | ✔ |
| 微博 | ✔ |
| 平台 | 状态 |
|---|---|
| 小红书 | ✔ |
| 平台 | 状态 |
|---|---|
| 小红书 | ✔ |
| 皮皮虾 | ✔ |
| 抖音短视频 | ✔ |
| 火山短视频 | ✔ |
| 皮皮搞笑 | ✔ |
| 快手短视频 | ✔ |
| 微视短视频 | ✔ |
| 西瓜视频 | ✔ |
| 最右 | ✔ |
| 梨视频 | ✔ |
| 度小视(原全民) | ✔ |
| 逗拍 | ✔ |
| 微博 | ✔ |
| 绿洲 | ✔ |
| 全民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 代替。
# 默认监听 8080 端口
go run main.go
# 自定义端口
go run main.go serve --port 9090
# 开启 basic auth 认证
export PARSE_VIDEO_USERNAME=basic_auth_username
export PARSE_VIDEO_PASSWORD=basic_auth_password
go run main.go serve不带子命令时默认执行
serve,--port/--version等全局选项可直接使用。
# 解析单个链接
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 解析
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为必填参数,可用值可通过解析失败时的错误提示查看。
go run main.go version| 选项 | 说明 |
|---|---|
--port, -p |
服务监听端口(默认 8080,serve 命令) |
--version |
显示版本信息 |
| 选项 | 说明 |
|---|---|
--format |
输出格式:text(默认)、json |
--download, -d |
下载解析到的媒体文件(视频、图集、封面、音乐) |
--output-dir, -o |
下载文件保存目录(默认 .,即当前目录) |
| 选项 | 说明 |
|---|---|
--file, -f |
从文件读取链接(每行一个,- 代表 stdin) |
获取 docker image
docker 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 PARSE_VIDEO_USERNAME=basic_auth_username -e PARSE_VIDEO_PASSWORD=basic_auth_password 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": [],
"image_live_photos": []
}| 字段名 | 说明 |
|---|---|
| author.uid | 视频作者id |
| author.name | 视频作者名称 |
| author.avatar | 视频作者头像 |
| title | 视频标题 |
| video_url | 视频无水印链接 |
| music_url | 视频音乐链接 |
| cover_url | 视频封面 |
| images.[index].url | 图集图片地址 |
| images.[index].live_photo_url | 图集图片 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