Skip to content

wujunwei928/parse-video

Repository files navigation

Golang短视频去水印, 视频目前支持22个平台, 图集目前支持4个平台, 欢迎各位Star。

ps: 使用时, 请尽量使用app分享链接, 电脑网页版未做测试.

其他语言版本


🚀 GLM Coding 限时优惠!性能强劲 量大管饱

🎁 智谱 GLM Coding 超值订阅,邀你一起"薅羊毛"!

本项目前端多套主体样式和后端逻辑均有用到GLM辅助开发, 绝对性能够用, 又量大管饱.

立即开拼,享限时惊喜价, 首购低至4折!

拼好模活动海报

支持平台

图集

平台 状态
抖音
快手
小红书
皮皮虾
微博

图集 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 PARSE_VIDEO_USERNAME=basic_auth_username
export PARSE_VIDEO_PASSWORD=basic_auth_password
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 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

About

Golang短视频去水印:抖音,皮皮虾,火山,微视,最右,快手,全民小视频,皮皮搞笑,西瓜视频,虎牙,梨视频,acfun,好看视频...

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors