go - 使用 GoQuery 获取视频 src 时返回空白

标签 go goquery

我正在尝试使用 GoQuery 获取藤蔓的 .mp4 视频源。但是,当我运行它时,我什么也得不到,没有错误,也没有返回。只是一个空行。

package main

import (
  "fmt"
  "log"

  "github.com/PuerkitoBio/goquery"
)

func getMP4URL() {
  doc, err := goquery.NewDocument("https://vine.co/v/MlWtKgwh7WY")
  if err != nil {
    log.Fatal(err)
  }

  doc.Find(".vine-video-container").Each(func(i int, s *goquery.Selection) {
    mp4, _ := s.Find("video").Attr("src")
    fmt.Printf("MP4: %s", mp4)
  })
}

func main() {
  getMP4URL()
}

这是我代码的问题,还是 vine 本身的问题?

最佳答案

似乎 vine 使用 javascript 添加了那个 id

如果我添加

html, err := doc.Html()
if err != nil {
    log.Fatal(err)
}

log.Println(html)

doc.Find 之前,html 输出中没有 .vine-video-container

关于go - 使用 GoQuery 获取视频 src 时返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25517885/

相关文章:

json - 序列化后的内容是否严格按照定义中的顺序使用encoding/json包?

go - `.text' 节中的 cgo 错误无法识别的重定位 (0x2a)

pointers - 在 Golang 中将类型 uintptr 分配给 uint64

goquery:到达另一个元素时停止解析

csv - 如何将结果输出到 Go 中并发网络抓取工具的 CSV 文件?

GoLang - 迭代数据以解码多个 YAML 结构

azure - 如何使用 oauth2 token 在 MS Graph SDK 中进行身份验证?

Goquery 从明显不是空的响应中加载空文档

html - 使用Golang的colly/goquery在html中查找文本

go - 如何使用GoQuery查找具有特定ID的元素