/// <summary> /// 处理即时足球change2 /// </summary> /// <param name="p_html">HTML文档</param> private IList <TPR3.Model.guess.BaList> OnceHtml(string p_html, out int p_recordCount) { IList <TPR3.Model.guess.BaList> objonce = new List <TPR3.Model.guess.BaList>(); p_recordCount = 0; if (!string.IsNullOrEmpty(p_html)) { MatchCollection mc = Regex.Matches(p_html, @"<h>([\s\S].+?)</h>", RegexOptions.Compiled | RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { TPR3.Model.guess.BaList obj = new TPR3.Model.guess.BaList(); string[] sTemp = { }; sTemp = mc[i].Groups[0].Value.Split("^".ToCharArray()); obj.p_id = Convert.ToInt32(sTemp[0].Replace("<h><![CDATA[", "")); //即时红黄牌 try { obj.p_zred = Convert.ToInt32(sTemp[6]); obj.p_kred = Convert.ToInt32(sTemp[7]); obj.p_zyellow = Convert.ToInt32(sTemp[12]); obj.p_kyellow = Convert.ToInt32(sTemp[13]); } catch { } //即时全场比分 try { obj.p_result_temp1 = Convert.ToInt32(sTemp[2]); obj.p_result_temp2 = Convert.ToInt32(sTemp[3]); } catch { } //即时上半场比分 try { obj.p_halfresult_temp1 = Convert.ToInt32(sTemp[4]); obj.p_halfresult_temp2 = Convert.ToInt32(sTemp[5]); } catch { obj.p_halfresult_temp1 = 0; obj.p_halfresult_temp2 = 0; } objonce.Add(obj); p_recordCount++; } } } return(objonce); }
/// <summary> /// 处理足球完场比分 /// </summary> /// <param name="p_html">HTML文档</param> private IList <TPR3.Model.guess.BaList> FootLiveoverHtml(string p_html, out int p_recordCount) { IList <TPR3.Model.guess.BaList> objfoot = new List <TPR3.Model.guess.BaList>(); p_recordCount = 0; if (!string.IsNullOrEmpty(p_html)) { MatchCollection mc = Regex.Matches(p_html, @"<tr class=font12 align=center bgColor=([\s\S]+?)>欧</a>", RegexOptions.Compiled | RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { TPR3.Model.guess.BaList obj = new TPR3.Model.guess.BaList(); string sID = "0"; string pattern = @"<a href=javascript: onclick='analysis([\s\S]+?)'>析</a>"; Match m1 = Regex.Match(mc[i].Groups[0].Value, pattern, RegexOptions.Compiled | RegexOptions.IgnoreCase); if (m1.Success) { sID = m1.Groups[0].Value.Replace("<a href=javascript: onclick='analysis(", "").Replace(")'>析</a>", ""); } string sTime = "2010-1-1 11:11:11"; string pattern2 = @"</td><td>([\s\S]+?)</td><td class=style1>"; Match m2 = Regex.Match(mc[i].Groups[0].Value, pattern2, RegexOptions.Compiled | RegexOptions.IgnoreCase); if (m2.Success) { sTime = m2.Groups[1].Value; } int result1 = -1; int result2 = -1; string pattern3 = @"</td><td class=style1 style=([\s\S]+?)(\d*-\d*)</td><td align=left>"; Match m3 = Regex.Match(mc[i].Groups[0].Value, pattern3, RegexOptions.Compiled | RegexOptions.IgnoreCase); if (m2.Success) { string sTemp = Regex.Replace(m3.Groups[2].Value, @"<.+?>", "", RegexOptions.IgnoreCase); if (!string.IsNullOrEmpty(sTemp)) { result1 = Convert.ToInt32(sTemp.Split('-')[0]); result2 = Convert.ToInt32(sTemp.Split('-')[1]); } } obj.p_TPRtime = Convert.ToDateTime(sTime); obj.p_id = Convert.ToInt32(sID); obj.p_result_one = result1; obj.p_result_two = result2; objfoot.Add(obj); p_recordCount++; } } } return(objfoot); }
/// <summary> /// 处理足球标准盘XML /// </summary> /// <param name="p_html">HTML文档</param> private IList <TPR3.Model.guess.BaList> FootbzHtml(string p_xml, out int p_recordCount) { IList <TPR3.Model.guess.BaList> listFootbzs = new List <TPR3.Model.guess.BaList>(); p_recordCount = 0; try { using (XmlReaderExtend reader = new XmlReaderExtend(p_xml)) { while (reader.ReadToFollowing("m")) { TPR3.Model.guess.BaList obj = new TPR3.Model.guess.BaList(); obj.p_id = Convert.ToInt32(reader.GetElementValue("i")); obj.p_TPRtime = Convert.ToDateTime(reader.GetElementValue("t").Split(",".ToCharArray())[0]); string[] saTemp = { }; saTemp = reader.GetElementValue("pl").Split(";".ToCharArray()); try { //SB:1/明升:9 if (Utils.GetTopDomain() == "tt8w.cn" || Utils.GetTopDomain() == "tt8w.cc") { obj.p_bzs_lu = Convert.ToDecimal(saTemp[9].Split(",".ToCharArray())[4]); obj.p_bzp_lu = Convert.ToDecimal(saTemp[9].Split(",".ToCharArray())[5]); obj.p_bzx_lu = Convert.ToDecimal(saTemp[9].Split(",".ToCharArray())[6]); } else { obj.p_bzs_lu = Convert.ToDecimal(saTemp[1].Split(",".ToCharArray())[4]); obj.p_bzp_lu = Convert.ToDecimal(saTemp[1].Split(",".ToCharArray())[5]); obj.p_bzx_lu = Convert.ToDecimal(saTemp[1].Split(",".ToCharArray())[6]); } } catch { obj.p_bzs_lu = 0; obj.p_bzp_lu = 0; obj.p_bzx_lu = 0; } listFootbzs.Add(obj); p_recordCount++; } return(listFootbzs); } } catch { return(null); } }
/// <summary> /// 处理篮球完场比分(搜索) /// </summary> /// <param name="p_html">HTML文档</param> private IList <TPR3.Model.guess.BaList> BasketLiveoverHtml(string p_html, out int p_recordCount) { IList <TPR3.Model.guess.BaList> objbasket = new List <TPR3.Model.guess.BaList>(); p_recordCount = 0; if (!string.IsNullOrEmpty(p_html)) { MatchCollection mc = Regex.Matches(p_html, @"<h>([\s\S].+?)</h>", RegexOptions.Compiled | RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { TPR3.Model.guess.BaList obj = new TPR3.Model.guess.BaList(); string[] sTemp = { }; sTemp = mc[i].Groups[0].Value.Split("^".ToCharArray()); int Iswc = Convert.ToInt32(sTemp[5]); if (Iswc == -1) { obj.p_id = Convert.ToInt32(sTemp[0].Replace("<h><![CDATA[", "")); //obj.p_TPRtime = Convert.ToDateTime(sTemp[4].Replace("<br>", "")); try { obj.p_result_one = Convert.ToInt32(sTemp[11]); obj.p_result_two = Convert.ToInt32(sTemp[12]); } catch { obj.p_result_one = -1; obj.p_result_two = -1; } } else { obj.p_result_one = -1; obj.p_result_two = -1; } objbasket.Add(obj); p_recordCount++; } } } return(objbasket); }
/// <summary> /// 处理篮球XML /// </summary> /// <param name="p_html">HTML文档</param> private IList <TPR3.Model.guess.BaList> BasketHtml(string p_xml, out int p_recordCount) { IList <TPR3.Model.guess.BaList> listBaskets = new List <TPR3.Model.guess.BaList>(); p_recordCount = 0; try { using (XmlReaderExtend reader = new XmlReaderExtend(p_xml)) { while (reader.ReadToFollowing("m")) { TPR3.Model.guess.BaList obj = new TPR3.Model.guess.BaList(); obj.p_id = Convert.ToInt32(reader.GetElementValue("i")); obj.p_title = reader.GetElementValue("le").Split(",".ToCharArray())[2]; obj.p_TPRtime = Convert.ToDateTime(reader.GetElementValue("t").Split(",".ToCharArray())[0]); obj.p_one = reader.GetElementValue("ta").Split(",".ToCharArray())[0]; obj.p_two = reader.GetElementValue("tb").Split(",".ToCharArray())[0]; if (Utils.Left(reader.GetElementValue("p"), 1) == "2") { obj.p_pn = 2; } else { obj.p_pn = 1; } string[] saTemp = { }; saTemp = reader.GetElementValue("pl").Split(";".ToCharArray()); try { obj.p_pk = Convert.ToDecimal(saTemp[2].Split(",".ToCharArray())[1]); obj.p_one_lu = Convert.ToDecimal(saTemp[2].Split(",".ToCharArray())[2]); obj.p_two_lu = Convert.ToDecimal(saTemp[2].Split(",".ToCharArray())[3]); } catch { obj.p_pk = 0; obj.p_one_lu = 0; obj.p_two_lu = 0; } try { obj.p_dx_pk = Convert.ToDecimal(saTemp[7].Split(",".ToCharArray())[1]); obj.p_big_lu = Convert.ToDecimal(saTemp[7].Split(",".ToCharArray())[2]); obj.p_small_lu = Convert.ToDecimal(saTemp[7].Split(",".ToCharArray())[3]); } catch { obj.p_dx_pk = 0; obj.p_big_lu = 0; obj.p_small_lu = 0; } listBaskets.Add(obj); p_recordCount++; } return(listBaskets); } } catch { return(null); } }
/// <summary> /// 更新一场足球(载入比赛页面使用) /// </summary> /// <param name="p_id">球探标识ID</param> public void Update(int p_id) { string Footvip = new TPR3.Collec.Footvip().GetFootvip(p_id); if (!string.IsNullOrEmpty(Footvip)) { Footvip = Utils.Mid(Footvip, 1, Footvip.Length); string[] Temp = Regex.Split(Footvip, "@"); string Lock1 = Temp[0]; string Lock2 = Temp[1]; string Lock3 = Temp[2]; //------------让球盘开始------------ int p_isluckone = 0; if (Lock1.Contains("封") || Lock1.Contains("background-color:red;color:White;")) { p_isluckone = 1; } else { string ypodds = ""; MatchCollection mc = Regex.Matches(Lock1, @"<td style=""color[\s\S]+?>([\s\S]+?)</td>", RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { ypodds += "@" + mc[i].Groups[1].Value.ToString(); } ypodds = Utils.Mid(ypodds, 1, ypodds.Length); } //builder.Append(ypodds); string[] ypTemp = Regex.Split(ypodds, "@"); int k = 0; if (ypTemp.Length == 4) { k = 1; } int p_pn = 1; string sxpk = ypTemp[k + 1]; if (sxpk.Contains("受让")) { p_pn = 2; } decimal p_pk = TPR3.Common.GCK.getPkNum2(sxpk.Replace("受让", "")); decimal p_one_lu = Convert.ToDecimal(ypTemp[k + 0]) + 1; decimal p_two_lu = Convert.ToDecimal(ypTemp[k + 2]) + 1; //builder.Append(p_pk + "|" + sxpk + "<br />"); //builder.Append(p_one_lu + "<br />"); //builder.Append(p_two_lu + "<br />"); TPR3.Model.guess.BaList model = new TPR3.Model.guess.BaList(); model.p_id = p_id; model.p_se = 0; model.p_pn = p_pn; model.p_pk = p_pk; model.p_one_lu = p_one_lu; model.p_two_lu = p_two_lu; new TPR3.BLL.guess.BaList().FootypUpdate(model); } //更新是否封盘 if (Lock1.Contains("滚")) { new TPR3.BLL.guess.BaList().Updatep_isluck(p_id, p_isluckone, 1); } //------------让球盘结束------------ //------------大小盘开始------------ int p_islucktwo = 0; if (Lock2.Contains("封") || Lock2.Contains("background-color:red;color:White;")) { p_islucktwo = 1; } else { string dxodds = ""; MatchCollection mc = Regex.Matches(Lock2, @"<td style=""color[\s\S]+?>([\s\S]+?)</td>", RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { dxodds += "@" + mc[i].Groups[1].Value.ToString(); } dxodds = Utils.Mid(dxodds, 1, dxodds.Length); } //builder.Append(dxodds); string[] dxTemp = Regex.Split(dxodds, "@"); int k = 0; if (dxTemp.Length == 4) { k = 1; } decimal p_dx_pk = TPR3.Common.GCK.getDxPkNum2(dxTemp[k + 1]); decimal p_big_lu = Convert.ToDecimal(dxTemp[k + 0]) + 1; decimal p_small_lu = Convert.ToDecimal(dxTemp[k + 2]) + 1; //builder.Append(p_dx_pk + "<br />"); //builder.Append(p_big_lu + "<br />"); //builder.Append(p_small_lu + "<br />"); TPR3.Model.guess.BaList model = new TPR3.Model.guess.BaList(); model.p_id = p_id; model.p_se = 0; model.p_dx_pk = p_dx_pk; model.p_big_lu = p_big_lu; model.p_small_lu = p_small_lu; new TPR3.BLL.guess.BaList().FootdxUpdate(model); } //更新是否封盘 if (Lock2.Contains("滚")) { new TPR3.BLL.guess.BaList().Updatep_isluck(p_id, p_islucktwo, 2); } //------------大小盘结束------------ //------------标准盘开始------------ int p_isluckthr = 0; if (Lock3.Contains("封") || Lock3.Contains("background-color:red;color:White;")) { p_isluckthr = 1; } else { string bzodds = ""; MatchCollection mc = Regex.Matches(Lock3, @"<td style=""color[\s\S]+?>([\s\S]+?)</td>", RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { bzodds += "@" + mc[i].Groups[1].Value.ToString(); } bzodds = Utils.Mid(bzodds, 1, bzodds.Length); } //builder.Append(bzodds); string[] bzTemp = Regex.Split(bzodds, "@"); int k = 0; if (bzTemp.Length == 4) { k = 1; } decimal bzs = Convert.ToDecimal(bzTemp[k + 0]); decimal bzp = Convert.ToDecimal(bzTemp[k + 1]); decimal bzx = Convert.ToDecimal(bzTemp[k + 2]); //builder.Append(bzs + "|" + bzp + "|" + bzx + "<br />"); TPR3.Model.guess.BaList model = new TPR3.Model.guess.BaList(); model.p_id = p_id; model.p_se = 0; model.p_bzs_lu = bzs; model.p_bzp_lu = bzp; model.p_bzx_lu = bzx; new TPR3.BLL.guess.BaList().FootbzUpdate(model); } //更新是否封盘 if (Lock3.Contains("滚")) { new TPR3.BLL.guess.BaList().Updatep_isluck(p_id, p_isluckthr, 3); } //------------标准盘结束------------ } }
/// <summary> /// 更新一场篮球(载入比赛页面使用) /// </summary> /// <param name="p_id">球探标识ID</param> public void Update(int p_id) { //得到整个页面 string Basketvip = new TPR3.Collec.Basketvip().GetBasketvip(p_id);//166516、160572 //得到让球盘赔率集合 string Basketvip1 = new TPR3.Collec.Basketvip().BasketvipHtml(Basketvip); //得到大小盘赔率集合 string Basketvip2 = new TPR3.Collec.Basketvip().BasketvipHtml2(Basketvip); //分析让球盘赔率 if (!string.IsNullOrEmpty(Basketvip1)) { Basketvip1 = Utils.Mid(Basketvip1, 1, Basketvip1.Length); string[] Temp = Regex.Split(Basketvip1, "@"); string ypxml = Temp[0]; string ypodds = ""; MatchCollection mc = Regex.Matches(ypxml, @"<td style=""color[\s\S]+?>([\s\S]+?)</td>", RegexOptions.IgnoreCase); if (mc.Count > 0) { for (int i = 0; i < mc.Count; i++) { ypodds += "@" + mc[i].Groups[1].Value.ToString(); } ypodds = Utils.Mid(ypodds, 1, ypodds.Length); } //builder.Append(ypodds + "<br />");//此值当显示封盘时取不到 int p_isluckone = 0; if (ypodds.Contains("封")) { p_isluckone = 1; } else { string[] ypTemp = Regex.Split(ypodds, "@"); decimal p_one_lu = Convert.ToDecimal(ypTemp[1]) + 1; decimal p_pk = Convert.ToDecimal(ypTemp[2]); decimal p_two_lu = Convert.ToDecimal(ypTemp[3]) + 1; TPR3.Model.guess.BaList model = new TPR3.Model.guess.BaList(); model.p_id = p_id; model.p_se = 0; //更新让球盘 model.p_pk = p_pk; model.p_one_lu = p_one_lu; model.p_two_lu = p_two_lu; if (p_pk < 0) { model.p_pn = 2; } else { model.p_pn = 1; } new TPR3.BLL.guess.BaList().BasketUpdateYp(model); } //更新是否封盘 if (ypxml.Contains("滚")) { new TPR3.BLL.guess.BaList().Updatep_isluck(p_id, p_isluckone, 1); } } //分析大小盘赔率 if (!string.IsNullOrEmpty(Basketvip2)) { Basketvip2 = Utils.Mid(Basketvip2, 1, Basketvip2.Length); string[] Temp2 = Regex.Split(Basketvip2, "@"); string dxxml = Temp2[0]; string dxodds = ""; MatchCollection mc2 = Regex.Matches(dxxml, @"<td style=""color[\s\S]+?>([\s\S]+?)</td>", RegexOptions.IgnoreCase); if (mc2.Count > 0) { for (int i = 0; i < mc2.Count; i++) { dxodds += "@" + mc2[i].Groups[1].Value.ToString(); } dxodds = Utils.Mid(dxodds, 1, dxodds.Length); } //builder.Append(dxodds + "<br />");//此值当显示封盘时取不到 int p_islucktwo = 0; if (dxodds.Contains("封")) { p_islucktwo = 1; } else { string[] dxTemp = Regex.Split(dxodds, "@"); decimal p_big_lu = Convert.ToDecimal(dxTemp[1]) + 1; decimal p_dx_pk = Convert.ToDecimal(dxTemp[2]); decimal p_small_lu = Convert.ToDecimal(dxTemp[3]) + 1; TPR3.Model.guess.BaList model = new TPR3.Model.guess.BaList(); model.p_id = p_id; model.p_se = 0; //更新大小盘 model.p_dx_pk = p_dx_pk; model.p_big_lu = p_big_lu; model.p_small_lu = p_small_lu; new TPR3.BLL.guess.BaList().BasketUpdateDx(model); } //更新是否封盘 if (dxxml.Contains("滚")) { new TPR3.BLL.guess.BaList().Updatep_isluck(p_id, p_islucktwo, 2); } } }