yingzi4f 发表于 2023-6-4 10:57

go编写聚合平台视频无水印下载

本帖最后由 yingzi4f 于 2023-6-4 10:58 编辑


目前支持 皮皮虾/抖音/微视/6间房/哔哩哔哩/微博/绿洲/度小视/开眼/陌陌/皮皮搞笑/全民k歌/逗拍/虎牙/新片场/哔哩哔哩/Acfun/美拍/西瓜视频/火山小视频/网易云Mlog/好看视频哔哩哔哩/6间房/微博仅支持下载无法去除水印
最近学习go,所以用go写了个调用API获取视频下载的小程序打开程序,输入视频URL,自动下载视频到程序目录。


编译后链接:https://pan.baidu.com/s/1-YR_BS2-WFwUefVvTgzDVw?pwd=52pj
提取码:52pj

源码package main
import (
      "bufio"
      "encoding/json"
      "fmt"
      "io"
      "io/ioutil"
      "net/http"
      "os"
      "strings"
)

func main() {
      url := "https://tenapi.cn/v2/video"
      reader := bufio.NewReader(os.Stdin)
      fmt.Print("请输入视频 URL: ")
      urlInput, _ := reader.ReadString('\n')
      urlInput = strings.TrimSpace(urlInput)
      payload := strings.NewReader("url=" + urlInput)

      req, _ := http.NewRequest("POST", url, payload)

      req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

      res, _ := http.DefaultClient.Do(req)

      defer res.Body.Close()
      decoder := json.NewDecoder(res.Body)

      var data mapinterface{}
      err := decoder.Decode(&data)
      if err != nil {
                panic(err)
      }

      video_title := data["data"].(mapinterface{})["title"].(string)
      video_cover := data["data"].(mapinterface{})["cover"].(string)
      video_url := data["data"].(mapinterface{})["url"].(string)

      file, err := os.Create(video_title + ".mp4")
      if err != nil {
                panic(err)
      }
      defer file.Close()

      resp, err := http.Get(video_url)
      if err != nil {
                panic(err)
      }
      defer resp.Body.Close()

      _, err = io.Copy(file, resp.Body)
      if err != nil {
                panic(err)
      }
      fmt.Println("视频下载成功!")

      fmt.Println("视频标题:", video_title)
      fmt.Println("视频封面:", video_cover)
      fmt.Println("视频下载地址:", video_url)
      body, _ := ioutil.ReadAll(res.Body)
      fmt.Println(string(body))
}

tgrnf 发表于 2024-1-16 18:03

本帖最后由 tgrnf 于 2024-1-16 18:10 编辑

我下载了,打开名为视频下载的EXE文件,输入视频链接后回车,程序立马就自动主动关闭了,试了好几次以后,现在是不会自动关闭了但是程序也没有任何反应。解析不了。是那里出了问题?

yingzi4f 发表于 2023-6-5 14:28

hackysh 发表于 2023-6-4 19:41
res, _ := http这什么语法,一点都不优美

这是go语法呀。go规定所有声明变量必须使用,否则无法编译。 _ 符合代表可以不使用变量。
:= 语法 可以不指定变量类型

tjay5201 发表于 2023-6-4 12:02

收藏了 顶一个

kurage7 发表于 2023-6-4 12:03

收藏,学习了

px307 发表于 2023-6-4 12:20

感谢分享,也准备写代码了

darkreg 发表于 2023-6-4 13:11

楼主API在哪里找的{:1_918:}

m80571182 发表于 2023-6-4 13:19

感谢分享优质资源

moments 发表于 2023-6-4 13:37

能去水印赞一个。

go2019 发表于 2023-6-4 13:51

楼主有点厉害哦!谢谢分享!

zhangsan2022 发表于 2023-6-4 14:04

感谢分享,谢谢分享!

ydafu168 发表于 2023-6-4 14:31

能去水印就好了。
页: [1] 2 3 4 5
查看完整版本: go编写聚合平台视频无水印下载