Exemple #1
0
        /// <summary>
        /// Get data's song
        /// </summary>
        /// <param name="input"></param>
        /// <param name="typeSong"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        Song GetASong(string input, TypeSong typeSong, string id)
        {
            Song song = new Song();

            song.ID         = @"/Image/ID Chart/_" + id + ".png"; // Get id song
            song.TypeOfSong = typeSong;

            // Get urlSong - singer name - artist - image singer
            string pattern = @"""http://www.nhaccuatui(.*?)alt";
            Match  data    = Manage.GetFirstValueRegex(input, pattern, RegexOptions.Singleline);

            // Get url image singer and urlSong
            pattern = @"http://(.*?)""";
            MatchCollection links = Manage.GetDataWithRegex(data.Value, pattern);

            song.UrlSong     = links[0].Value.Substring(0, links[0].Length - 1).Replace("http://www.nhaccuatui.com/", ""); // UrlSong
            song.ImageSinger = links[1].Value.Substring(0, links[1].Length - 1);                                           // ImageSinger

            // Get Artist and Singer name
            string[] value = GetSingerNameAndArtist(data.Value);
            song.SongName   = value[0]; // Add song name
            song.SingerName = value[1]; // Add singer name

            // Get Highest Position
            pattern = @"></span>(.*?)</a>";
            data    = Manage.GetFirstValueRegex(input, pattern);
            song.HighestPosition = data.Value.Replace("></span>", "").Replace("</a>", "");

            return(song);
        }
Exemple #2
0
        /// <summary>
        /// Start Crawling 20 song of a chart
        /// </summary>
        /// <param name="inputLink"></param>
        /// <param name="lSong"></param>
        /// <param name="typeSong"></param>
        /// <returns></returns>
        List <Song> CrawlAChart(string inputLink, List <Song> lSong, TypeSong typeSong)
        {
            string html    = Manage.CrawlData(inputLink);
            string pattern = @"<div class=""box_info_field"">(.*?)class=""last_weeks_position";
            var    data    = Manage.GetDataWithRegex(html, pattern, RegexOptions.Singleline);

            foreach (Match item in data)
            {
                Song song = GetASong(item.Value, typeSong, (lSong.Count + 1).ToString());
                lSong.Add(song);
            }
            return(lSong);
        }