diff --git a/extractors/douyin.go b/extractors/douyin.go index 8cebdac7f..7c3b92608 100644 --- a/extractors/douyin.go +++ b/extractors/douyin.go @@ -1,7 +1,8 @@ package extractors import ( - "encoding/json" + // "encoding/json" + "strings" "github.com/iawia002/annie/downloader" "github.com/iawia002/annie/request" @@ -24,11 +25,9 @@ type douyinData struct { // Douyin download function func Douyin(url string) downloader.VideoData { html := request.Get(url, url, nil) - vData := utils.MatchOneOf(html, `var data = \[(.*?)\];`)[1] - var dataDict douyinData - json.Unmarshal([]byte(vData), &dataDict) - - realURL := dataDict.Video.PlayAddr.URLList[0] + title := utils.MatchOneOf(html, `

(.+?)

`)[1] + realURL := utils.MatchOneOf(html, `playAddr: "(.+?)"`)[1] + realURL = strings.Replace(realURL, "/playwm/", "/play/", 1) size := request.Size(realURL, url) urlData := downloader.URLData{ URL: realURL, @@ -43,7 +42,7 @@ func Douyin(url string) downloader.VideoData { } extractedData := downloader.VideoData{ Site: "抖音 douyin.com", - Title: utils.FileName(dataDict.Desc), + Title: utils.FileName(title), Type: "video", Formats: format, }