Example #1
0
        public static Song GetMoreSongInfo(Song Item, bool isGetSize = false)
        {
            string lyric = "";
            string linkStream;

            // Lấy image
            Item.Image_Song = "";
            HtmlDocument wap = new HtmlDocument();

            wap.LoadHtml(SourceWeb.GetWebSource(Item.URL));
            HtmlNode ImageNode = wap.DocumentNode.SelectSingleNode("//div[@class='box_singer_pri']").ChildNodes[1].ChildNodes[0];

            Item.Image_Song = ImageNode.GetAttributeValue("src", "");
            if (Item.Image_Song == null)
            {
                Item.Image_Song = Picture.NHAC_CUA_TUI;
            }
            wap.LoadHtml(SourceWeb.GetWebSource(Item.URL.Replace("http://www", "http://m")));
            //Lấy lyrics
            try
            {
                HtmlNode lyricNode = wap.DocumentNode.SelectSingleNode("//div[@class='lyric']");
                foreach (HtmlNode node in lyricNode.ChildNodes)
                {
                    lyric += WebUtility.HtmlDecode(node.InnerText);
                }
            }
            catch { }
            Item.Lyric_Song = lyric;
            //Lấy Stream
            try
            {
                HtmlNode stream = wap.DocumentNode.SelectSingleNode("//div[@class='download']");
                if (Item.Quality == null)
                {
                    linkStream = stream.SelectSingleNode(".//a").GetAttributeValue("href", "");
                    if (isGetSize)
                    {
                        WebRequest  request;
                        WebResponse reponse;
                        request        = WebRequest.Create(linkStream);
                        request.Method = "HEAD";
                        reponse        = request.GetResponse();
                        reponse.Close();
                    }
                }
                else if (Item.Quality.Contains("128"))
                {
                    linkStream = stream.SelectSingleNode(".//a").GetAttributeValue("href", "");
                    if (isGetSize)
                    {
                        WebRequest  request;
                        WebResponse reponse;
                        request        = WebRequest.Create(linkStream);
                        request.Method = "HEAD";
                        reponse        = request.GetResponse();
                        reponse.Close();
                    }
                }
                else
                {
                    WebRequest  request;
                    WebResponse reponse;
                    HtmlNode    pdlikeNode = wap.DocumentNode.SelectSingleNode("//div[@class='pdlike']");
                    HtmlNode    _blankNode = pdlikeNode.SelectSingleNode(".//a[@target='_blank']");
                    request    = WebRequest.Create(_blankNode.GetAttributeValue("href", ""));
                    reponse    = request.GetResponse();
                    linkStream = reponse.ResponseUri.ToString();
                    if (linkStream.Contains("login"))
                    {
                        linkStream = stream.SelectSingleNode(".//a").GetAttributeValue("href", "");
                    }

                    reponse.Close();
                }
            }
            catch { linkStream = null; }



            Item.URL = linkStream;
            return(Item);
        }