public async Task <BillboardInfo> GetGDbyWYAsync(string id) { string data = HttpHelper.PostWeb("http://lab.mkblog.cn/music/api.php", "types=playlist&id=" + id); JObject o = JObject.Parse(data); var dt = new BillboardInfo(); dt.Title = o["playlist"]["name"].ToString(); dt.OnlineId = o["playlist"]["id"].ToString(); dt.AlbumArtPath = o["playlist"]["coverImgUrl"].ToString(); for (int i = 0; i != o["playlist"]["tracks"].Count(); i++) { try { var dtname = o["playlist"]["tracks"][i]["name"].ToString(); var dtsinger = ""; for (int dx = 0; dx != o["playlist"]["tracks"][i]["ar"].Count(); dx++) { dtsinger += o["playlist"]["tracks"][i]["ar"][dx]["name"] + "&"; } dtsinger = dtsinger.Substring(0, dtsinger.LastIndexOf("&")); var dtf = await SearchMusicAsync(dtname + "-" + dtsinger); if (dtf.Count > 0) { dt.Musics.Add(dtf[0]); } } catch { } } return(dt); }
public async Task <BillboardInfo> GetGDAsync(string id = "2591355982") { var s = await HttpHelper.GetWebDatacAsync($"https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&json=1&utf8=1&onlysong=0&disstid={id}&format=json&g_tk=1157737156&loginUin=2728578956&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq&needNewCode=0", Encoding.UTF8); JObject o = JObject.Parse(s); var dt = new BillboardInfo(); dt.Title = o["cdlist"][0]["dissname"].ToString(); dt.AlbumArtPath = o["cdlist"][0]["logo"].ToString(); dt.OnlineId = id; int i = 0; while (i != o["cdlist"][0]["songlist"].Count()) { try { MusicInfo m = new MusicInfo() { Title = o["cdlist"][0]["songlist"][i]["songname"].ToString().Replace("\\", "-").Replace("?", "").Replace("/", "").Replace(":", "").Replace("*", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", ""), Artist = o["cdlist"][0]["songlist"][i]["singer"][0]["name"].ToString(), GC = o["cdlist"][0]["songlist"][i]["songid"].ToString(), OnlineId = o["cdlist"][0]["songlist"][i]["songmid"].ToString(), AlbumArtPath = $"http://y.gtimg.cn/music/photo_new/T002R300x300M000{o["cdlist"][0]["songlist"][i]["albummid"]}.jpg" }; m.Url = await GetUrlAsync(m.OnlineId); dt.Musics.Add(m); if (!mldata.ContainsKey(m.OnlineId)) { mldata.Add(m.OnlineId, (m.Title + " - " + m.Artist).Replace("\\", "-").Replace("?", "").Replace("/", "").Replace(":", "").Replace("*", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", "")); } i++; } catch { i++; } } return(dt); }