//---------------------------------------------------------------------------- private void ParsePrizeInnerText(string td, PrizeNumberData data) { var t1 = td.Split('+')[0]; for (int i = 0; i <= 5; i++) { data.redNumberdataList.Add(byte.Parse(t1.Split(' ')[i])); } data.blueBallNum = int.Parse(td.Split('+')[1]); }
//---------------------------------------------------------------------------- private int PrizeNumberDataSort(PrizeNumberData t1, PrizeNumberData t2) { int date1 = t1.numperiods; int date2 = t2.numperiods; if (date1 < date2) { return(1); } else { return(-1); } }
//---------------------------------------------------------------------------- private void ParseAnalysisRedData(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_analysisRedData.curforeRedBallList.Clear(); drawData.m_analysisRedData.nextforeRedBallList.Clear(); drawData.prizeNumberDataList.Clear(); for (int i = 0; i <= 19; i++) { var forecastTable = tr[i]; var td = forecastTable.SelectNodes("./td"); var data = new PrizeNumberData(); data.numperiods = int.Parse(td[0].InnerText); ParsePrizeInnerText(td[1].InnerText, data); drawData.prizeNumberDataList.Add(data); } drawData.prizeNumberDataList.Sort(PrizeNumberDataSort); for (int i = 19; i <= 20; i++) { var forecastTable = tr[i]; var redNumList = new List <string>(); var curredNumList = new List <string>(); var td = forecastTable.SelectNodes("./td"); switch (i) { case 19: drawData.m_analysisRedData.curforenumperiods = td[0].InnerText; drawData.m_analysisRedData.curforeHitRate = td[33].InnerText; Debug.Log("当前红球命中个数: " + drawData.m_analysisRedData.curforeHitRate); break; case 20: drawData.m_analysisRedData.nextforenumperiods = td[0].InnerText; break; default: break; } for (int j = 3; j <= 30; j += 3) { redNumList.Add(td[j].InnerText); if (i == 19) { curredNumList.Add(td[j + 1].InnerHtml.Split('\"')[3]); } } for (int j = 0; j < redNumList.Count; j++) { var redballdata = new NextRedBallData(); var currentredballdata = new CurrentRedBallData(); switch (i) { case 19: currentredballdata.redballNum = redNumList[j]; currentredballdata.isRightOrNot = curredNumList[j]; drawData.m_analysisRedData.curforeRedBallList.Add(currentredballdata); Debug.Log("当期红球杀号 : " + drawData.m_analysisRedData.curforeRedBallList[j].redballNum); break; case 20: redballdata.redballNum = redNumList[j]; drawData.m_analysisRedData.nextforeRedBallList.Add(redballdata); Debug.Log("下期红球杀号 : " + drawData.m_analysisRedData.nextforeRedBallList[j].redballNum); 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_analysisRedData.nextforeRedBallList[j].consecutiveErrorsNum = dataList[j]; Debug.Log("consecutiveErrorsNum : " + drawData.m_analysisRedData.nextforeRedBallList[j].consecutiveErrorsNum); break; case 22: drawData.m_analysisRedData.nextforeRedBallList[j].numberOfPairs = dataList[j]; Debug.Log("numberOfPairs : " + drawData.m_analysisRedData.nextforeRedBallList[j].numberOfPairs); break; case 23: drawData.m_analysisRedData.nextforeRedBallList[j].totalCorrectNum = dataList[j]; Debug.Log("totalCorrectNum : " + drawData.m_analysisRedData.nextforeRedBallList[j].totalCorrectNum); break; case 24: drawData.m_analysisRedData.nextforeRedBallList[j].accuracy = dataList[j]; Debug.Log("accuracy : " + drawData.m_analysisRedData.nextforeRedBallList[j].accuracy); break; case 25: drawData.m_analysisRedData.nextforeRedBallList[j].consecutiveErrorsMaxNum = dataList[j]; Debug.Log("consecutiveErrorsMaxNum : " + drawData.m_analysisRedData.nextforeRedBallList[j].consecutiveErrorsMaxNum); break; case 26: drawData.m_analysisRedData.nextforeRedBallList[j].maximumNumOfPairs = dataList[j]; Debug.Log("maximumNumOfPairs : " + drawData.m_analysisRedData.nextforeRedBallList[j].maximumNumOfPairs); break; default: break; } } } }