• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang http.Get函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中dna/http.Get函数的典型用法代码示例。如果您正苦于以下问题:Golang Get函数的具体用法?Golang Get怎么用?Golang Get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了Get函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: getPlaylistM3u8

func getPlaylistM3u8(episode *Episode) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		result, err := http.Get(episode.Link)
		if err == nil {
			episode.PlaylistM3u8 = result.Data
			m3u8Filenames := episode.PlaylistM3u8.FindAllString(`.+m3u8`, -1)
			// Get file with highest resolution
			if m3u8Filenames.Length() > 0 {
				lastM3u8Filename := m3u8Filenames[m3u8Filenames.Length()-1]
				baseM3u8Url := episode.Link.ReplaceWithRegexp(`[^/]+m3u8$`, "")
				lastM3u8FilePath := baseM3u8Url + lastM3u8Filename
				resultm3u8, errm3u8 := http.Get(lastM3u8FilePath)
				if errm3u8 == nil {
					episode.EpisodeM3u8 = resultm3u8.Data.ReplaceWithRegexp(`(.+\.ts)`, baseM3u8Url+"${1}")
					// ioutil.WriteFile("./dump/test.m3u8", episode.EpisodeM3u8.ToBytes(), 0644)
				}
			}

		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:25,代码来源:episode.go


示例2: getSrtContent

func getSrtContent(episode *Episode, isEn dna.Bool) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		var result *http.Result
		var err error
		if isEn == true {
			result, err = http.Get(episode.SubtitleExt[1])
		} else {
			result, err = http.Get(episode.SubtitleExt[0])
		}

		if err == nil {
			if isEn == true {

				// It is hard to detect an encoding of a string.
				// Therefore we convert them to BASE64
				episode.EnSrt = dna.String(base64.StdEncoding.EncodeToString(result.Data.ToBytes()))
				// episode.EnSrt = ISO8859_1ToUTF8String(result.Data.ToBytes())
				// ioutil.WriteFile("./dump/test_en_srt.srt", result.Data.ToBytes(), 0644)
			} else {
				// Vietnamese Subtitle encoded in UTF-16 Little Ending
				// It has to be converted to UTF-8
				if result.Data.Match(`^[0-9a-fA-F]+$`) == false {
					// episode.ViSrt = UTF16ToUTF8String(result.Data.ToBytes(), binary.LittleEndian)
					episode.ViSrt = dna.String(base64.StdEncoding.EncodeToString(result.Data.ToBytes()))
				}

				// dna.Log(result.Data.Substring(0, 100))
			}
		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:35,代码来源:episode.go


示例3: getSongFromXML

// getSongFromXML returns values from url: http://nhacso.net/flash/song/xnl/1/id/
func getSongFromXML(song *Song) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		link := "http://nhacso.net/flash/song/xnl/1/id/" + GetKey(song.Id)
		result, err := http.Get(link)
		if err == nil {
			song.Title = getValueXML(&result.Data, "name", 1).Trim()
			song.Artists = getValueXML(&result.Data, "artist", 0).ToStringArray().SplitWithRegexp("\\|\\|").SplitWithRegexp(" / ").SplitWithRegexp(" - ")
			song.Artistid = getValueXML(&result.Data, "artistlink", 0).ReplaceWithRegexp("\\.html", "").ReplaceWithRegexp(`^.+-`, "").ToInt()
			authors := getValueXML(&result.Data, "author", 0)
			if !authors.IsBlank() {
				song.Authors = authors.ToStringArray().SplitWithRegexp("\\|\\|").SplitWithRegexp(" / ").SplitWithRegexp(" - ")
				song.Authorid = getValueXML(&result.Data, "authorlink", 0).ReplaceWithRegexp(`\.html`, "").ReplaceWithRegexp(`^.+-`, "").ToInt()

			}
			duration := result.Data.FindAllString("<totalTime.+totalTime>", 1)
			if duration.Length() > 0 {
				song.Duration = duration[0].RemoveHtmlTags("").Trim().ToInt()
			}

			song.Link = getValueXML(&result.Data, "mp3link", 0)

			if song.Title != "" && song.Link != "/" {
				ts := song.Link.FindAllString(`\/[0-9]+_`, 1)[0].ReplaceWithRegexp(`\/`, "").ReplaceWithRegexp(`_`, "")
				unix := ts.ToInt().ToFloat() * dna.Float(math.Pow10(13-len(ts)))
				song.DateCreated = dna.Int(int64(unix) / 1000).ToTime()
				song.DateUpdated = time.Now()
			}
		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:35,代码来源:song.go


示例4: getAPIAlbumSimilars

// getAPIAlbumSimilars fetches album's similars
// with the following url format:
// http://www.allmusic.com/album/google-bot-mw0002585207/similar/mobile
func getAPIAlbumSimilars(album *APIAlbum) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		link := "http://www.allmusic.com/album/google-bot-mw" + album.Id.ToFormattedString(10, true) + "/similar/mobile"
		result, err := http.Get(link)
		if err == nil {
			data := &result.Data
			idsArr := data.FindAllString(`<a href=".+`, -1)
			ids := dna.IntArray(idsArr.Map(func(val dna.String, idx dna.Int) dna.Int {
				idArr := val.FindAllStringSubmatch(`mw([0-9]+)`, -1)
				if len(idArr) > 0 {
					return idArr[0][1].ToInt()
				} else {
					return 0
				}
			}).([]dna.Int)).Filter(func(val dna.Int, idx dna.Int) dna.Bool {
				if val > 0 {
					return true
				} else {
					return false
				}
			})

			if ids.Length() > 0 {
				album.Similars = ids
			}
		}

		channel <- true
	}()
	return channel

}
开发者ID:olragon,项目名称:dna,代码行数:36,代码来源:apialbum.go


示例5: getAlbumCategory

func getAlbumCategory(albums *[]*Album, genre Genre, page dna.Int) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		link := "http://nhacso.net/album-theo-the-loai-" + genre.Id.ToString() + "/joke-link-2-" + page.ToString() + ".html"
		// dna.Log(link)
		result, err := http.Get(link)
		if err == nil {
			data := &result.Data
			temp := data.FindAllStringSubmatch(`getTotalSongInAlbum\('(.+)', 'album_new_totalsong_'`, -1)
			tmpalbums := &[]*Album{}
			if len(temp) > 0 {
				albumList := temp[0][1].Split(",").ToIntArray()
				for _, albumid := range albumList {
					album := NewAlbum()
					album.Id = albumid
					cats := dna.StringArray{genre.Name}
					album.Category = transformCats(cats)
					*tmpalbums = append(*tmpalbums, album)
				}
			}
			*albums = *tmpalbums

		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:28,代码来源:category_album.go


示例6: getAPIAlbumAwards

// getAPIAlbumAwards fetches album's awards
// with the following url format:
// http://www.allmusic.com/album/google-bot-mw0002585207/similar/mobile
func getAPIAlbumAwards(album *APIAlbum) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		link := "http://www.allmusic.com/album/google-bot-mw" + album.Id.ToFormattedString(10, true) + "/awards/mobile"
		result, err := http.Get(link)
		if err == nil {
			data := &result.Data
			var awardSections = []APIAwardSection{}

			sectionsArr := data.FindAllString(`(?mis)<section class=.+?</section>`, -1)
			sectionsArr.ForEach(func(section dna.String, idx dna.Int) {
				awardSections = append(awardSections, getSection(section))
			})

			if len(awardSections) > 0 {
				bAwards, derr := json.Marshal(awardSections)
				if derr == nil {
					album.Awards = dna.String(string(bAwards))
				}
			}
		}

		channel <- true
	}()
	return channel

}
开发者ID:olragon,项目名称:dna,代码行数:30,代码来源:apialbum.go


示例7: getSongPlays

// getSongPlays returns song plays
func getSongPlays(song *Song, body dna.String) {
	// POST METHOD
	// link := "http://www.nhaccuatui.com/interaction/api/hit-counter?jsoncallback=nct"
	// http.DefaulHeader.Set("Content-Type", "application/x-www-form-urlencoded ")
	// result, err := http.Post(dna.String(link), body)
	// // Log(link)
	// if err == nil {
	// 	data := &result.Data
	// 	tpl := dna.String(`{"counter":([0-9]+)}`)
	// 	playsArr := data.FindAllStringSubmatch(tpl, -1)
	// 	if len(playsArr) > 0 {
	// 		song.Plays = playsArr[0][1].ToInt()
	// 	}
	// }
	// GET METHOD
	link := "http://www.nhaccuatui.com/interaction/api/counter?jsoncallback=nct&listSongIds=" + song.Id.ToString()
	result, err := http.Get(link)
	if err == nil {
		data := &result.Data
		tpl := dna.Sprintf(`{"%v":([0-9]+)}`, song.Id)
		// dna.Log(data)
		playsArr := data.FindAllStringSubmatch(tpl, -1)
		if len(playsArr) > 0 {
			song.Plays = playsArr[0][1].ToInt()
		}
	}
}
开发者ID:olragon,项目名称:dna,代码行数:28,代码来源:song.go


示例8: getExercises

func getExercises(cat Category) <-chan Exercises {
	channel := make(chan Exercises)
	exercises := Exercises{}
	go func() {
		link := "http://www.indiabix.com" + cat.Url
		// dna.Log(link)
		result, err := http.Get(link)
		if err == nil {
			data := &result.Data
			exercisesArr := data.FindAllStringSubmatch(`(?mis)ib-lefttbar-container.+Exercise(.+?)id="ib-main-bar"`, 1)
			// dna.Log(exercisesArr)
			if len(exercisesArr) > 0 {
				sectionArr := exercisesArr[0][1].FindAllString(`<a href=.+?</a>`, -1)
				for _, section := range sectionArr {
					exc := NewExercise()
					exc.Cat = cat
					exc.Cat.Url = section.GetTagAttributes("href")
					exc.No = exc.Cat.Url.ReplaceWithRegexp(`/$`, "").ReplaceWithRegexp(`^.+/`, "").ToInt()
					exercises = append(exercises, *exc)
					// dna.Log(exc.Cat.Url.ReplaceWithRegexp(`/$`, "").Replace(`^.+/`, ""))
				}
			}
		}
		channel <- exercises

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:28,代码来源:exercise.go


示例9: getGracenoteSongLyric

func getGracenoteSongLyric(artist, title dna.String, song *Song) {
	link := "http://lyrics.wikia.com/Gracenote:" + artist.Replace(" ", "_") + ":" + title.Replace(" ", "_")
	result, err := http.Get(link)
	if err == nil {
		data := &result.Data

		writersArr := data.FindAllString(`Songwriters.+`, 1)
		if writersArr.Length() > 0 {
			song.GracenoteSongwriters = writersArr[0].GetTags("em")[0].RemoveHtmlTags("").DecodeHTML()
		}

		publisheraArr := data.FindAllString(`Publishers.+`, 1)
		if publisheraArr.Length() > 0 {
			song.GracenotePublishers = publisheraArr[0].GetTags("em")[0].RemoveHtmlTags("").DecodeHTML()
		}

		lyricArr := data.FindAllStringSubmatch(`(?mis)<div class='lyricbox'>(.+?)<\!--`, 1)
		if len(lyricArr) > 0 {
			song.GracenoteLyric = lyricArr[0][1].Trim().DecodeHTML().ReplaceWithRegexp(`(?mis)^<div.+?</span></div>`, "").Trim().Replace("<br />", "\n")
		}

		if song.GracenoteLyric != "" {
			song.DownloadGracenoteDone = 1
		} else {
			song.DownloadGracenoteDone = 0
		}

	}
}
开发者ID:olragon,项目名称:dna,代码行数:29,代码来源:song.go


示例10: getSongXML

// getSongXML returns song from main page
func getSongXML(song *Song) <-chan bool {

	channel := make(chan bool, 1)
	go func() {
		link := "http://www.chacha.vn/player/songXml/" + song.Id.ToString()
		result, err := http.Get(link)
		// dna.Log(link)
		if err == nil && !result.Data.Match(`Không tìm thấy bài hát`) {
			data := &result.Data
			if data.Match(`<enclosure.+label="320K"`) {
				song.Bitrate = 320
				link := data.FindAllString(`<enclosure.+label="320K".+/>`, -1)
				if link.Length() > 0 {
					song.Link = link[0].GetTagAttributes("url")
				}
			} else {
				if data.Match(`<enclosure.+label="128K"`) {
					song.Bitrate = 128
					link := data.FindAllString(`<enclosure.+label="128K".+?`, -1)
					if link.Length() > 0 {
						song.Link = link[0].GetTagAttributes("url")
					}
				}
			}

		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:32,代码来源:song.go


示例11: getVideoFromXML

// getVideoFromXML returns video from main page
func getVideoFromXML(video *Video) <-chan bool {

	channel := make(chan bool, 1)
	go func() {
		link := "http://hcm.nhac.vui.vn/asx2.php?type=1&id=" + video.Id.ToString()
		result, err := http.Get(link)
		// dna.Log(link)
		if err == nil {
			data := &result.Data
			linkArr := data.FindAllStringSubmatch(`<jwplayer:file><\!\[CDATA\[(.+)\]\]></jwplayer:file>`, 1)
			if len(linkArr) > 0 {
				video.Link = linkArr[0][1].Trim()
				switch {
				case video.Link.Match("mp3") == true:
					video.Type = "song"
				case video.Link.Match("(?mis)mp4") == true:
					video.Type = "video"
				case video.Link.Match("flv") == true:
					video.Type = "video"
				}
			}

		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:29,代码来源:video.go


示例12: GetAPIMovie

func GetAPIMovie(movieid, ep dna.Int) (*APIMovie, error) {
	urlb := NewURLBuilder()
	var link dna.String = ""
	if ep == 0 {
		link = urlb.GetMovie(movieid)
	} else {
		link = urlb.GetEpisole(movieid, ep)
	}
	// dna.Log(link)
	result, err := http.Get(link)
	if err == nil {
		if result.Data.Match(`"r":"acesstokenkey invalid or expired"`) == true {
			return nil, errors.New("ACCESS_TOKEN_KEY invalid or expired")
		}
		var apiMoveiJSON = &APIMovieJSON{}
		errd := json.Unmarshal(result.Data.ToBytes(), apiMoveiJSON)
		if errd == nil {
			apiMoveiJSON.Movie.MovieId = movieid
			apiMoveiJSON.Movie.EpId = ep
			return &apiMoveiJSON.Movie, nil
		} else {
			return nil, errd
		}
	} else {
		return nil, err
	}
}
开发者ID:olragon,项目名称:dna,代码行数:27,代码来源:apis.go


示例13: getSongFormats

func getSongFormats(subject *Subject) <-chan bool {
	channel := make(chan bool, 1)
	go func() {
		link := "http://www.indiabix.com/" + subject.Name.ToDashCase().ToLowerCase()
		// dna.Log(link)
		result, err := http.Get(link)
		if err == nil {
			data := &result.Data
			tables := data.FindAllString(`(?mis)<table width="100%" id="ib-tbl-topics">.+?</table>`, -1)
			for _, table := range tables {
				cells := table.FindAllString(`<td>.+?</td>`, -1)
				if cells.Length() > 0 {
					for _, cell := range cells {
						cat := &Category{subject.Name, cell.RemoveHtmlTags(""), cell.GetTagAttributes("href")}
						subject.Cats = append(subject.Cats, cat)
						// dna.Log(cat)
					}
				}
			}
		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:25,代码来源:category.go


示例14: getSongFromMainPage

// getSongFromMainPage returns song from main page
func getSongFromMainPage(song *Song) <-chan bool {

	channel := make(chan bool, 1)
	go func() {
		link := "http://nhacso.net/nghe-nhac/google-bot." + GetKey(song.Id) + "==.html"
		result, err := http.Get(link)
		// Log(link)
		// Log(result.Data)
		if err == nil && !result.Data.Match("Rất tiếc, chúng tôi không tìm thấy thông tin bạn yêu cầu!") {
			data := &result.Data
			if data.Match("official") {
				song.Official = 1
			}

			bitrate := data.FindAllString(`\d+kb\/s`, 1)[0]
			if !bitrate.IsBlank() {
				song.Bitrate = bitrate.FindAllString(`\d+`, 1)[0].ToInt()
			}

			plays := data.FindAllString("total_listen_song_detail_\\d+.+", 1)[0]
			if !plays.IsBlank() {
				song.Plays = plays.ReplaceWithRegexp("<\\/span>.+$", "").ReplaceWithRegexp("^.+>", "").ReplaceWithRegexp("\\.", "").ToInt()
			}

			topics := data.FindAllString("<li><a\\shref\\=\\\"http\\:\\/\\/nhacso\\.net\\/the-loai.+", 1)[0]
			if !topics.IsBlank() {
				topics = topics.ReplaceWithRegexp("^.+\\\">|<\\/a><\\/li>", "")
				song.Topics = topics.ToStringArray().SplitWithRegexp(" - ").SplitWithRegexp("/")
				temp := data.FindAllString("<a.+class=\"casi\".+>(.+?)<\\/a>", 1)
				var singer dna.String
				if temp.Length() > 0 {
					singer = temp[0]
				} else {
					singer = ""
				}
				if topics.Match("Nhạc Hoa") && singer.Match(` / `) {
					song.SameArtist = 1
				}
			}

			lyric := data.FindAllString(`(?mis)txtlyric.+Bạn chưa nhập nội bài hát`, 1)[0]
			if !lyric.IsBlank() {
				song.Islyric = 1
				song.Lyric = lyric.ReplaceWithRegexp("(?mis)<\\/textarea>.+$", "").ReplaceWithRegexp("^.+>", "")
				if song.Lyric.Match("Hãy đóng góp lời bài hát chính xác cho Nhacso nhé") {
					song.Lyric = ``
					song.Islyric = 0
				}
			}
		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:56,代码来源:song.go


示例15: getSongLrc

func getSongLrc(song *Song) {
	result, err := http.Get(song.LrcUrl)
	if err == nil {
		lrc, derr := DecryptLRC(result.Data)
		if derr == nil {
			song.Lrc = lrc
		} else {
			dna.Log("ERR WHILE DECRYPT SONG ", song.Id)
			dna.Log("-----\n")
		}
	}
}
开发者ID:olragon,项目名称:dna,代码行数:12,代码来源:song.go


示例16: GetAPISongLyric

//GetAPISongLyric fetchs a song lyric from API url. An url pattern is:
// http://api.mp3.zing.vn/api/mobile/song/getlyrics?keycode=fafd463e2131914934b73310aa34a23f&requestdata={"id":"ZW67FWWF"}
//
// The following result:
//	{
//	  "id": 1188945,
//	  "content": "Chuyện hai chúng ta bây giờ khác rồi\nThật lòng anh không muốn ai phải bối rối\nSợ em nhìn thấy nên anh đành phải lẳng lặng đứng xa\nChuyện tình thay đổi nên bây giờ trở thành người thứ ba\nTrách ai bây giờ, trách mình thôi.....\n\nĐK:\nNhìn em hạnh phúc bên ai càng làm anh tan nát lòng\nMới hiểu tại sao tình yêu người ta sợ khi cách xa\nĐiều anh lo lắng cứ vẫn luôn xảy ra\nNếu không đổi thay chẳng có ai sống được vì thiếu mất yêu thương.\n\nThời gian giết chết cuộc tình còn đau hơn giết chính mình\nTại sao mọi thứ xung quanh vẫn thế chỉ lòng người thay đổi\nGiờ em chỉ là tất cả quá khứ anh phải cố xoá trong nước mắt\n\n[ Trong tình yêu, thuộc về ai không quan trọng\nMột giây mơ màng là đã mất nhau....]\n\nCàng nghĩ đến em, anh càng hối hận\nVì xa em nên mất em thật ngu ngốc\nGiờ tình anh như bức tranh bằng nước mắt không màu sắc\nNhẹ nhàng và trong suốt cho dù đau đớn vẫn lặng yên\nTrách ai bây giờ, trách mình thôi....\n\nĐK:\nNhìn em hạnh phúc bên ai càng làm anh tan nát lòng\nMới hiểu tại sao tình yêu người ta sợ khi cách xa\nĐiều anh lo lắng cứ vẫn luôn xảy ra\nNếu không đổi thay chẳng có ai sống được vì thiếu mất yêu thương.\n\nThời gian giết chết cuộc tình còn đau hơn giết chính mình\nTại sao mọi thứ xung quanh vẫn thế chỉ lòng người thay đổi\nGiờ em chỉ là tất cả quá khứ anh phải cố xoá trong nước mắt.\n\nNụ cười em vẫn như xưa mà lòng em sao khác rồi\nNỗi đau này chỉ mình anh nhận lấy vì anh đã sai\nGiờ anh phải cố giữ nước mắt đừng rơi\nBức tranh tình yêu của em từ lâu đã không hề có anh......\n\nTrong tình yêu, thuộc về ai không quan trọng, rồi cũng mất nhau…",
//	  "mark": 4664,
//	  "author": "o0cobemuaxuan0o",
//	  "response": {
//	    "msgCode": 1
//	  }
//	}
func GetAPISongLyric(id Int) (*APISongLyric, error) {
	var apisongLyric = new(APISongLyric)
	baseURL := "http://api.mp3.zing.vn/api/mobile/song/getlyrics?"
	link := Sprintf(`%vkeycode=%v&requestdata={"id":"%v"}`, baseURL, API_KEYCODE, GetKey(id))
	result, err := http.Get(link)
	if err == nil {
		data := &result.Data
		json.Unmarshal([]byte(*data), apisongLyric)
		return apisongLyric, nil
	} else {
		return nil, err
	}
}
开发者ID:olragon,项目名称:dna,代码行数:26,代码来源:apifuncs.go


示例17: getSongLrcUrl

func getSongLrcUrl(song *Song) {

	link := "http://www.nhaccuatui.com/flash/xml?key1=" + song.LinkKey
	result, err := http.Get(link)
	if err == nil {
		data := &result.Data
		lrcArr := data.FindAllStringSubmatch(`<lyric><\!\[CDATA\[(.+)\]\]></lyric>`, 1)
		if len(lrcArr) > 0 {
			song.LrcUrl = lrcArr[0][1].Trim()
			getSongLrc(song)
		}
	}

}
开发者ID:olragon,项目名称:dna,代码行数:14,代码来源:song.go


示例18: GetAPIVideo

//GetAPIVideo fetchs a video from API url. An url pattern is:
//http://api.mp3.zing.vn/api/mobile/video/getvideoinfo?keycode=fafd463e2131914934b73310aa34a23f&requestdata={"id":1074729245}
//
//The following result:
//	{
//	  "video_id": 1074729245,
//	  "title": "Xin Anh Đừng Đến",
//	  "artist_id": "465",
//	  "artist": "Bảo Thy",
//	  "genre_id": "1,8,66",
//	  "thumbnail": "thumb_video/d/c/dcacff355635deedf62fd80de34f2346_1380622208.jpg",
//	  "duration": 307,
//	  "status_id": 1,
//	  "link": "/video-clip/Xin-Anh-Dung-Den-Bao-Thy/ZW686I9D.html",
//	  "source": {
//	    "240": "http://api.mp3.zing.vn/api/mobile/source/video/LncGtLGazaDuFAQyFlHTFGLn",
//	    "360": "http://api.mp3.zing.vn/api/mobile/source/video/LHJmTkHaAaFiDlQtdCnyDnLG",
//	    "480": "http://api.mp3.zing.vn/api/mobile/source/video/LHcHTknNlNFuFzpylJnyFHZm",
//	    "720": "http://api.mp3.zing.vn/api/mobile/source/video/ZHJHyLHNSNFRDzWyNbmTDmLm",
//	    "1080": "http://api.mp3.zing.vn/api/mobile/source/video/ZnxmTkGalNvuvzQtkGcntvHLn"
//	  },
//	  "total_play": 1684238,
//	  "likes": 7663,
//	  "like_this": false,
//	  "favourites": 0,
//	  "favourite_this": false,
//	  "comments": 246,
//	  "genre_name": "Việt Nam, Nhạc Trẻ, Nhạc Dance",
//	  "response": {
//	    "msgCode": 1
//	  }
//	}
func GetAPIVideo(id Int) (*APIVideo, error) {
	var apivideo = new(APIVideo)
	apivideo.Id = id
	baseURL := "http://api.mp3.zing.vn/api/mobile/video/getvideoinfo?"
	link := Sprintf(`%vkeycode=%v&requestdata={"id":"%v"}`, baseURL, API_KEYCODE, apivideo.Id-ID_DIFFERENCE)
	result, err := http.Get(link)
	if err == nil {
		data := &result.Data
		json.Unmarshal([]byte(*data), apivideo)
		return apivideo, nil
	} else {
		return nil, err
	}
}
开发者ID:olragon,项目名称:dna,代码行数:46,代码来源:apifuncs.go


示例19: GetAPIArtist

//GetAPIArtist fetchs an artist from API url. An url pattern is:
//http://api.mp3.zing.vn/api/mobile/artist/getartistinfo?key=fafd463e2131914934b73310aa34a23f&requestdata={"id":828}
//
//The following result:
//	{
//	  "artist_id": 828,
//	  "name": "Quang Lê",
//	  "alias": "",
//	  "birthname": "Leon Quang Lê",
//	  "birthday": "24/01/1981",
//	  "sex": 1,
//	  "genre_id": "1,11,13",
//	  "avatar": "avatars/9/6/96c7f8568cdc943997aace39708bf7b6_1376539870.jpg",
//	  "cover": "cover_artist/9/9/9920ce8b6c7eb43328383041acb58e76_1376539928.jpg",
//	  "cover2": "",
//	  "zme_acc": "",
//	  "role": "1",
//	  "website": "",
//	  "biography": "Quang Lê sinh ra tại Huế, trong gia đình gồm 6 anh em và một người chị nuôi, Quang Lê là con thứ 3 trong gia đình.\r\nĐầu những năm 1990, Quang Lê theo gia đình sang định cư tại bang Missouri, Mỹ.\r\nHiện nay Quang Lê sống cùng gia đình ở Los Angeles, nhưng vẫn thường xuyên về Việt Nam biểu diễn.\r\n\r\nSự nghiệp:\r\n\r\nSay mê ca hát từ nhỏ và niềm say mê đó đã cho Quang Lê những cơ hội để đi đến con đường ca hát ngày hôm nay. Có sẵn chất giọng Huế ngọt ngào, Quang Lê lại được cha mẹ cho theo học nhạc từ năm lớp 9 đến năm thứ 2 của đại học khi gia đình chuyển sang sống ở California . Anh từng đoạt huy chương bạc trong một cuộc thi tài năng trẻ tổ chức tại California. Thời gian đầu, Quang Lê chỉ xuất hiện trong những sinh hoạt của cộng đồng địa phương, mãi đến năm 2000 mới chính thức theo nghiệp ca hát. Nhưng cũng phải gần 2 năm sau, Quang Lê mới tạo được chỗ đứng trên sân khấu ca nhạc của cộng đồng người Việt ở Mỹ. Và từ đó, Quang Lê liên tục nhận được những lời mời biểu diễn ở Mỹ, cũng như ở Canada, Úc...\r\nLà một ca sĩ trẻ, cùng gia đình định cư ở Mỹ từ năm 10 tuổi, Quang Lê đã chọn và biểu diễn thành công dòng nhạc quê hương. Nhạc sĩ lão thành Châu Kỳ cũng từng khen Quang Lê là ca sĩ trẻ diễn đạt thành công nhất những tác phẩm của ông…\r\nQuang Lê rất hạnh phúc và anh xem lời khen tặng đó là sự khích lệ rất lớn để anh cố gắng nhiều hơn nữa trong việc diễn đạt những bài hát của nhạc sĩ Châu Kỳ cũng như những bài hát về tình yêu quê hương đất nước. 25 tuổi, được xếp vào số những ca sĩ trẻ thành công, nhưng Quang Lê luôn khiêm tốn cho rằng thành công thường đi chung với sự may mắn, và điều may mắn của anh là được lớn lên trong tiếng đàn của cha, giọng hát của mẹ.\r\nTiếng hát, tiếng đàn của cha mẹ anh quyện lấy nhau, như một sợi dây vô hình kết nối mọi người trong gia đình lại với nhau. Những âm thanh ngọt ngào đó chính là dòng nhạc quê hương mà Quang Lê trình diễn ngày hôm nay. Quang Lê cho biết: \"Mặc dù sống ở Mỹ đã lâu nhưng hình ảnh quê hương không bao giờ phai mờ trong tâm trí Quang Lê, nên mỗi khi hát những nhạc phẩm quê hương, những hình ảnh đó lại như hiện ra trước mắt\". Có lẽ vì thế mà giọng hát của Quang Lê như phảng phất cái không khí êm đềm của thành phố Huế.\r\nQuang Lê là con thứ 3 trong gia đình gồm 6 anh em và một người chị nuôi. Từ nhỏ, Quang Lê thường được người chung quanh khen là có triển vọng. Cậu bé chẳng hiểu \"có triển vọng\" là gì, chỉ biết là mình rất thích hát, và thích được cất tiếng hát trước người thân, để được khen ngợi và cổ vũ.\r\nĐầu những năm 1990, Quang Lê theo gia đình sang định cư tại bang Missouri, Mỹ. Một hôm, nhân có buổi lễ được tổ chức ở ngôi chùa gần nhà, một người quen của gia đình đã đưa Quang Lê đến để giúp vui cho chương trình sinh hoạt của chùa, và anh đã nhận được sự đón nhận nhiệt tình của khán giả. Quang Lê nhớ lại, \"người nghe không chỉ vỗ tay hoan hô mà còn thưởng tiền nữa\". Đối với một đứa trẻ 10 tuổi, thì đó quả là một niềm hạnh phúc lớn lao, khi nghĩ rằng niềm đam mê của mình lại còn có thể kiếm tiền giúp đỡ gia đình.\r\nQuan điểm của Quang Lê là khi dự định làm một việc gì thì hãy cố gắng hết mình để đạt được những điều mà mình mơ ước. Quang Lê cho biết anh toàn tâm toàn ý với dòng nhạc quê hương trữ tình mà anh đã chọn lựa và được đón nhận, nhưng anh tiết lộ là những lúc đi hát vũ trường, vì muốn thay đổi và để hòa đồng với các bạn trẻ, anh cũng trình bày những ca khúc \"Techno\" và cũng nhảy nhuyễn không kém gì vũ đoàn minh họa.\r\n\r\nAlbum:\r\n\r\nSương trắng miền quê ngoại (2003)\r\nXin gọi nhau là cố nhân (2004)\r\nHuế đêm trăng (2004)\r\nKẻ ở miền xa (2004)\r\n7000 đêm góp Lại (2005)\r\nĐập vỡ cây đàn (2007)\r\nHai quê (2008)\r\nTương tư nàng ca sĩ (2009)\r\nĐôi mắt người xưa (2010)\r\nPhải lòng con gái bến tre (2011)\r\nKhông phải tại chúng mình (2012)",
//	  "agency_name": "Ca sĩ Tự Do",
//	  "national_name": "Việt Nam",
//	  "is_official": 1,
//	  "year_active": "2000",
//	  "status_id": 1,
//	  "created_date": 0,
//	  "link": "/nghe-si/Quang-Le",
//	  "genre_name": "Việt Nam, Nhạc Trữ Tình",
//	  "response": {
//	    "msgCode": 1
//	  }
// }
func GetAPIArtist(id Int) (*APIArtist, error) {
	var apiArtist = new(APIArtist)
	apiArtist.Id = id
	baseURL := "http://api.mp3.zing.vn/api/mobile/artist/getartistinfo?"
	link := Sprintf(`%vkeycode=%v&requestdata={"id":"%v"}`, baseURL, API_KEYCODE, apiArtist.Id)
	result, err := http.Get(link)
	if err == nil {
		data := &result.Data
		json.Unmarshal([]byte(*data), apiArtist)
		return apiArtist, nil
	} else {
		return nil, err
	}
}
开发者ID:olragon,项目名称:dna,代码行数:45,代码来源:apifuncs.go


示例20: getVideoFromMainPage

// getVideoFromMainPage returns video from main page
func getVideoFromMainPage(video *Video) <-chan bool {

	channel := make(chan bool, 1)
	go func() {
		link := "http://www.chacha.vn/video/google-bot," + video.Id.ToString() + ".html"
		result, err := http.Get(link)
		// dna.Log(link)
		if err == nil && !result.Data.Match(`Không tìm thấy trang`) {
			data := &result.Data
			titleArr := data.FindAllStringSubmatch(`<h1 class="name">(.+)</h1>`, 1)
			if len(titleArr) > 0 {
				video.Title = titleArr[0][1].Trim()
			}

			artistArr := data.FindAllStringSubmatch(`(?mis)<li>Nghệ sĩ:(.+?)</li>`, 1)
			if len(artistArr) > 0 {
				video.Artists = refineAuthorsOrArtists(artistArr[0][1].RemoveHtmlTags("").Trim())
			}

			topicArr := data.FindAllStringSubmatch(`(?mis)<li>Thể loại:(.+?)</li>`, 1)
			if len(topicArr) > 0 {
				video.Topics = topicArr[0][1].RemoveHtmlTags("").Trim().ToStringArray()
			}

			yearReleasedArr := data.FindAllStringSubmatch(`Năm phát hành: <span>(.+?)</span>`, 1)
			if len(yearReleasedArr) > 0 {
				video.YearReleased = yearReleasedArr[0][1].Trim().ToInt()
			}

			playsArr := data.FindAllStringSubmatch(`([0-9]+) lượt xem`, 1)
			if len(playsArr) > 0 {
				video.Plays = playsArr[0][1].ToInt()
			}

			coverartArr := data.FindAllString(`<meta property="og:image".+`, 1)
			if coverartArr.Length() > 0 {
				video.Thumbnail = coverartArr[0].GetTagAttributes("content")
			}

			lyricArr := data.FindAllStringSubmatch(`(?mis)<p class="lyric" id="lyric_box">(.+?)<a class="fs11 more" id="lyric_more".+?</a>`, 1)
			if len(lyricArr) > 0 {
				video.Lyric = lyricArr[0][1].Replace(`<br /> `, "\n").Replace(`<br />`, "\n").RemoveHtmlTags("").Trim()
			}

		}
		channel <- true

	}()
	return channel
}
开发者ID:olragon,项目名称:dna,代码行数:51,代码来源:video.go



注:本文中的dna/http.Get函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang item.Item函数代码示例发布时间:2022-05-24
下一篇:
Golang dna.StringArray类代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap