//---------------------------------------------------------------------------- private int SortBlueRecommendList(NextBlueBallData data1, NextBlueBallData data2) { if (int.Parse(data1.blueballNum) < int.Parse(data2.blueballNum)) { return(-1); } else { return(1); } }
//---------------------------------------------------------------------------- private void ParseAnalysisBlueData(string html) { HtmlDocument m_html = new HtmlDocument(); m_html.LoadHtml(html); HtmlNode htmlNode = m_html.DocumentNode; //取出近20期蓝球杀号数据总html HtmlNode OneHundreDataTable = htmlNode.SelectSingleNode("//*[@id='showTable']/table"); Debug.Log("OneHundreDataNode: " + OneHundreDataTable.OuterHtml); var tr = OneHundreDataTable.SelectNodes("./tr"); drawData.m_analysisBlueData.curforeBlueBallDataList = new List <CurrentBlueBallData>(); drawData.m_analysisBlueData.nextforeBlueBallDataList = new List <NextBlueBallData>(); for (int i = 19; i <= 20; i++) { var forecastTable = tr[i]; var blueNumList = new List <string>(); var curredNumList = new List <string>(); var td = forecastTable.SelectNodes("./td"); switch (i) { case 19: drawData.m_analysisBlueData.curforenumperiods = td[0].InnerText; drawData.m_analysisBlueData.curforeHitRate = td[33].InnerText; Debug.Log("当前篮球命中个数: " + drawData.m_analysisBlueData.curforeHitRate); break; case 20: drawData.m_analysisBlueData.nextforenumperiods = td[0].InnerText; break; default: break; } for (int j = 3; j <= 30; j += 3) { blueNumList.Add(td[j].InnerText); if (i == 19) { curredNumList.Add(td[j + 1].InnerHtml.Split('\"')[3]); } } for (int j = 0; j < blueNumList.Count; j++) { var blueballdata = new NextBlueBallData(); var currentblueballdata = new CurrentBlueBallData(); switch (i) { case 19: currentblueballdata.blueballNum = blueNumList[j]; currentblueballdata.isRightOrNot = curredNumList[j]; drawData.m_analysisBlueData.curforeBlueBallDataList.Add(currentblueballdata); Debug.Log("blueballNum currentforeBlueBallList : " + drawData.m_analysisBlueData.curforeBlueBallDataList[j].blueballNum); break; case 20: blueballdata.blueballNum = blueNumList[j]; drawData.m_analysisBlueData.nextforeBlueBallDataList.Add(blueballdata); Debug.Log("blueballNum nextforeBlueBallList : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].blueballNum); break; default: break; } } } for (int i = 21; i <= 26; i++) { var dataTd = tr[i].SelectNodes("./td"); var dataList = new List <string>(); for (var j = 2; j <= 20; j += 2) { dataList.Add(dataTd[j].InnerText); } for (int j = 0; j < dataList.Count; j++) { switch (i) { case 21: drawData.m_analysisBlueData.nextforeBlueBallDataList[j].consecutiveErrorsNum = dataList[j]; Debug.Log("consecutiveErrorsNum : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].consecutiveErrorsNum); break; case 22: drawData.m_analysisBlueData.nextforeBlueBallDataList[j].numberOfPairs = dataList[j]; Debug.Log("numberOfPairs : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].numberOfPairs); break; case 23: drawData.m_analysisBlueData.nextforeBlueBallDataList[j].totalCorrectNum = dataList[j]; Debug.Log("totalCorrectNum : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].totalCorrectNum); break; case 24: drawData.m_analysisBlueData.nextforeBlueBallDataList[j].accuracy = dataList[j]; Debug.Log("accuracy : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].accuracy); break; case 25: drawData.m_analysisBlueData.nextforeBlueBallDataList[j].consecutiveErrorsMaxNum = dataList[j]; Debug.Log("consecutiveErrorsMaxNum : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].consecutiveErrorsMaxNum); break; case 26: drawData.m_analysisBlueData.nextforeBlueBallDataList[j].maximumNumOfPairs = dataList[j]; Debug.Log("maximumNumOfPairs : " + drawData.m_analysisBlueData.nextforeBlueBallDataList[j].maximumNumOfPairs); break; default: break; } } } }