private int GetTheFirstNumberOfSongOfCurrentList() { if (webTool.Url.ToString().Contains(strInitURL)) { LoginStatus = ELoginStatus.ReadyToFind; } else if (webTool.Url.ToString().Contains("http://www.melon.com/mymusic/like/mymusiclikesong_list.htm?memberKey=")) { string strNum = ""; // Populate list List <HtmlElement> arrElements = new List <HtmlElement>(webTool.Document.GetElementsByTagName("tr").Cast <HtmlElement>()); foreach (HtmlElement EI in arrElements) { List <HtmlElement> arrElements2 = new List <HtmlElement>(EI.GetElementsByTagName("div").Cast <HtmlElement>()); if (arrElements2.Count == 16 || arrElements2.Count == 19) { strNum = arrElements2[1].InnerText; break; } } return(Convert.ToInt32(strNum)); } return(-1); }
private void GetFavoriteSongList() { const int nSongCountOfEachPage = 20; int nTotalCount = UserInfo.nTotalLikeSongs;//Convert.ToInt32(webTool.Document.GetElementById("totCnt").InnerText); int nPageCount = (int)Math.Ceiling((double)nTotalCount / nSongCountOfEachPage); PGB_browser.Maximum = nPageCount; for (int i = 0; i < nPageCount; ++i) { if (bTryToStop) { return; } int TargetPage = (i * nSongCountOfEachPage + 1); string str = "javascript: pageObj.sendPage('" + TargetPage + "');"; webTool.Navigate(str); while (GetTheFirstNumberOfSongOfCurrentList() != TargetPage) { System.Windows.Forms.Application.DoEvents(); } PGB_browser.Value = i; // Populate list List <HtmlElement> arrElements = new List <HtmlElement>(webTool.Document.GetElementsByTagName("tr").Cast <HtmlElement>()); foreach (HtmlElement EI in arrElements) { List <HtmlElement> arrElements2 = new List <HtmlElement>(EI.GetElementsByTagName("a").Cast <HtmlElement>()); //List<HtmlElement> arrElements2_ = new List<HtmlElement>(EI.GetElementsByTagName("div").Cast<HtmlElement>()); if (arrElements2.Count == 5) { string strName = arrElements2[1].InnerText; string strArtist = arrElements2[2].InnerText; string strAlbum = arrElements2[4].InnerText; this.lstFavorites.Items.Add(new SongListItem { Name = strName, Artist = strArtist, Album = strAlbum }); this.RelectingToTheDictionary(strName, strArtist); } } } LoginStatus = ELoginStatus.EverythingFound; var myList = m_dArtistSeries.ToList(); myList.Sort((pair1, pair2) => pair2.Value.CompareTo(pair1.Value)); { foreach (SongListItem SLI in lstFavorites.Items) { sb.AppendLine(UserInfo.BuildTheString("|") + "|" + SLI.Name + "|" + SLI.Artist + "|" + SLI.Album); } } // during the multiple scrapping mode, chart is disabled. if (bMultipleScrapMode == false) { int nCount = 0; const int nMAX = 5; foreach (KeyValuePair <string, int> entry in myList) { if (nMAX == nCount++) { break; } VM_Chart.AnalData1.Add(new Artists() { Category = entry.Key, Number = entry.Value }); } GridForPieChart.Visibility = Visibility.Visible; } }