protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string matchid = Request.QueryString["matchid"]; string html = ""; Response.ContentType = "text/html"; Response.Buffer = true; //完成整个响应后再发送 Response.ContentEncoding = Encoding.UTF8; switch (Request.QueryString["a"]) { case "showgoallist": html = bll.GetRemoteHtml(showgoallist, new string[] { matchid }); html = html.Replace("img src=/images/", "img src=" + WebClientBLL.root + "/images/"); break; case "analysis": html = bll.GetRemoteHtml(analysis, new string[] { matchid }); break; case "AsianOdds": html = bll.GetRemoteHtml(AsianOdds, new string[] { matchid }); break; case "EuropeOdds": html = bll.GetRemoteHtml(EuropeOdds, new string[] { matchid }); break; case "EuropeOddsJS": html = bll.UpdateOdds1x2Content(matchid); break; case "TeamPanlu_10": html = bll.GetRemoteHtml(TeamPanlu_10, new string[] { matchid }); break; case "oddsDetail": html = bll.GetRemoteHtml(oddsDetail, new string[] { matchid }); break; case "historyMatch": html = bll.GetRemoteHtml(historyMatch, new string[] { Request.Form["date"] }); break; case "OddsHistory": html = bll.GetRemoteHtml(OddsHistory, new string[] { Request.Form["oddsid"] }); break; default: break; } Response.Write(html); Response.End(); } }
private string getMatchResult(string matchid) { WebClientBLL bll = new WebClientBLL(); string html = bll.GetRemoteHtml("/detail/{0}.html", new string[] { matchid }); Lexer lexer = new Lexer(html); Parser parser = new Parser(lexer); INode tableNode = parser.Parse(new TagNameFilter("HTML"))[0].Children.ExtractAllNodesThatMatch(new TagNameFilter("BODY"))[0].Children[0]; TableTag tt = tableNode as TableTag; string home = tt.GetRow(0).Columns[0].Children[0].Children[0].ToPlainTextString(); string away = tt.GetRow(0).Columns[2].Children[0].Children[0].ToPlainTextString(); string hscore = tt.GetRow(0).Columns[1].Children[0].Children[1].Children[0].ToPlainTextString(); string ascore = tt.GetRow(0).Columns[1].Children[0].Children[1].Children[2].ToPlainTextString(); string asia = tt.GetRow(0).Columns[1].Children[0].Children[0].Children[0].ToPlainTextString(); return(home + " " + hscore + "-" + ascore + " " + away + " " + asia); }
private void getOdds3in1() { SeoWebSite.BLL.odds_rq odds_rqbll = new SeoWebSite.BLL.odds_rq(); WebClientBLL webClientBLL = new WebClientBLL(); try { if (Request["scheduleid"] != null && Request["companyid"] != null) { string scheduleid = Request.Form["scheduleid"]; string[] companyid_Array = Request.Form["companyid"].Split(','); DataTable dt = new DataTable(); dt.Columns.Add("scheduleid", typeof(int)); dt.Columns.Add("companyid", typeof(int)); dt.Columns.Add("aaa", typeof(double)); dt.Columns.Add("aab", typeof(double)); dt.Columns.Add("aac", typeof(double)); dt.Columns.Add("aba", typeof(double)); dt.Columns.Add("abb", typeof(double)); dt.Columns.Add("abc", typeof(double)); dt.Columns.Add("baa", typeof(double)); dt.Columns.Add("bab", typeof(double)); dt.Columns.Add("bac", typeof(double)); dt.Columns.Add("bba", typeof(double)); dt.Columns.Add("bbb", typeof(double)); dt.Columns.Add("bbc", typeof(double)); dt.Columns.Add("caa", typeof(double)); dt.Columns.Add("cab", typeof(double)); dt.Columns.Add("cac", typeof(double)); dt.Columns.Add("cba", typeof(double)); dt.Columns.Add("cbb", typeof(double)); dt.Columns.Add("cbc", typeof(double)); dt.Columns.Add("aaa1", typeof(string)); dt.Columns.Add("aab1", typeof(string)); dt.Columns.Add("aac1", typeof(string)); dt.Columns.Add("aba1", typeof(string)); dt.Columns.Add("abb1", typeof(string)); dt.Columns.Add("abc1", typeof(string)); dt.Columns.Add("baa1", typeof(string)); dt.Columns.Add("bab1", typeof(string)); dt.Columns.Add("bac1", typeof(string)); dt.Columns.Add("bba1", typeof(string)); dt.Columns.Add("bbb1", typeof(string)); dt.Columns.Add("bbc1", typeof(string)); foreach (string companyid in companyid_Array) { string[] paramArr = { companyid, scheduleid }; string s = webClientBLL.GetRemoteHtml("odds/detail.aspx?companyID={0}&scheduleid={1}", paramArr); Parser parser = Parser.CreateParser(s, "utf-8"); AndFilter andFilter = new AndFilter(new TagNameFilter("table"), new HasAttributeFilter("bgColor", "#bbbbbb")); NodeList tableList = parser.ExtractAllNodesThatMatch(andFilter); parser = Parser.CreateParser(s, "utf-8"); //NodeList h3tag = parser.ExtractAllNodesThatMatch(new TagNameFilter("h3")); //string year = h3tag[0].ToPlainTextString().Remove(5); if (tableList.Count == 3) { DataRow dr = dt.NewRow(); dr["scheduleid"] = scheduleid; dr["companyid"] = companyid; NodeList tdList; string pankou; #region 让球盘 AndFilter andFilter1 = new AndFilter(new TagNameFilter("tr"), new HasAttributeFilter("class", "ts1")); NodeList list = tableList[0].Children.ExtractAllNodesThatMatch(andFilter1); if (list.Count > 0) { tdList = list[list.Count - 1].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));//初盘 pankou = CommonHelper.GoalCnToGoal(tdList[1].ToPlainTextString()); double per1 = 0, per2 = 0, per3 = 0; double per4 = 0, per5 = 0, per6 = 0; if (!string.IsNullOrEmpty(pankou)) { dr["aaa"] = tdList[0].ToPlainTextString(); dr["aab"] = pankou; dr["aac"] = tdList[2].ToPlainTextString(); DataSet ds = odds_rqbll.queryCompanyOddsCount(companyid, tdList[0].ToPlainTextString(), pankou, tdList[2].ToPlainTextString(), Convert.ToInt32(Request.Form["scheduleType"]), "Chupan"); if (Convert.ToDouble(ds.Tables[0].Rows[0][3]) > 0) { per1 = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100); per2 = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100); per3 = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100); dr["aaa1"] = ds.Tables[0].Rows[0][0].ToString() + "(" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%)"; dr["aab1"] = ds.Tables[0].Rows[0][1].ToString() + "(" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%)"; dr["aac1"] = ds.Tables[0].Rows[0][2].ToString() + "(" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%)"; } } tdList = list[0].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));//终盘 pankou = CommonHelper.GoalCnToGoal(tdList[1].ToPlainTextString()); if (!string.IsNullOrEmpty(pankou)) { dr["aba"] = tdList[0].ToPlainTextString(); dr["abb"] = pankou; dr["abc"] = tdList[2].ToPlainTextString(); DataSet ds = odds_rqbll.queryCompanyOddsCount(companyid, tdList[0].ToPlainTextString(), pankou, tdList[2].ToPlainTextString(), Convert.ToInt32(Request.Form["scheduleType"]), "Zhongpan"); if (Convert.ToDouble(ds.Tables[0].Rows[0][3]) > 0) { per4 = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100); per5 = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100); per6 = Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100); dr["aba1"] = ds.Tables[0].Rows[0][0].ToString() + "(<font color=" + (per4 > per1 ? "red" : "green") + ">" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][0]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%</font>)"; dr["abb1"] = ds.Tables[0].Rows[0][1].ToString() + "(<font color=" + (per5 > per2 ? "red" : "green") + ">" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][1]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%</font>)"; dr["abc1"] = ds.Tables[0].Rows[0][2].ToString() + "(<font color=" + (per6 > per3 ? "red" : "green") + ">" + Math.Round(Convert.ToDouble(ds.Tables[0].Rows[0][2]) / Convert.ToDouble(ds.Tables[0].Rows[0][3]) * 100) + "%</font>)"; } } } #endregion #region 标准盘 list = tableList[1].Children.ExtractAllNodesThatMatch(andFilter1); if (list.Count > 0) { tdList = list[list.Count - 1].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn)); dr["baa"] = tdList[0].ToPlainTextString(); dr["bab"] = tdList[1].ToPlainTextString(); dr["bac"] = tdList[2].ToPlainTextString(); tdList = list[0].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn));//终盘 dr["bba"] = tdList[0].ToPlainTextString(); dr["bbb"] = tdList[1].ToPlainTextString(); dr["bbc"] = tdList[2].ToPlainTextString(); } #endregion #region 大小盘 list = tableList[2].Children.ExtractAllNodesThatMatch(andFilter1); if (list.Count > 0) { tdList = list[list.Count - 1].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn)); pankou = CommonHelper.BallSizeToBall(tdList[1].ToPlainTextString()); if (!string.IsNullOrEmpty(pankou)) { dr["caa"] = tdList[0].ToPlainTextString(); dr["cab"] = pankou; dr["cac"] = tdList[2].ToPlainTextString(); } tdList = list[0].Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.TableColumn)); pankou = CommonHelper.BallSizeToBall(tdList[1].ToPlainTextString()); if (!string.IsNullOrEmpty(pankou)) { dr["cba"] = tdList[0].ToPlainTextString(); dr["cbb"] = pankou; dr["cbc"] = tdList[2].ToPlainTextString(); } } #endregion dt.Rows.Add(dr); } } if (dt.Rows.Count > 0) { DataRow dr1 = dt.NewRow(); #region 亚洲盘统计 List <double> pankouList1 = new List <double>(); List <double> homefcList1 = new List <double>(); List <double> awayfcList1 = new List <double>(); List <double> pankouList2 = new List <double>(); List <double> homefcList2 = new List <double>(); List <double> awayfcList2 = new List <double>(); foreach (DataRow dr in dt.Rows) { if (dr["aab"] != DBNull.Value && !pankouList1.Contains(Convert.ToDouble(dr["aab"]))) { pankouList1.Add(Convert.ToDouble(dr["aab"])); } if (dr["abb"] != DBNull.Value && !pankouList2.Contains(Convert.ToDouble(dr["abb"]))) { pankouList2.Add(Convert.ToDouble(dr["abb"])); } } foreach (decimal item in pankouList2) { if (dt.Select("aab=" + item).Count() > 1) { double fc = Convert.ToDouble(dt.Compute("Var(aaa)", "aab=" + item)); homefcList1.Add(fc); fc = Convert.ToDouble(dt.Compute("Var(aac)", "aab=" + item)); awayfcList1.Add(fc); } if (dt.Select("abb=" + item).Count() > 1) { double fc = Convert.ToDouble(dt.Compute("Var(aba)", "abb=" + item)); homefcList2.Add(fc); fc = Convert.ToDouble(dt.Compute("Var(abc)", "abb=" + item)); awayfcList2.Add(fc); } } dr1["aaa"] = Convert.ToDouble(dt.Compute("Avg(aaa)", "1=1")); dr1["aac"] = Convert.ToDouble(dt.Compute("Avg(aac)", "1=1")); dr1["aaa1"] = homefcList1.Average(); dr1["aac1"] = awayfcList1.Average(); dr1["aba"] = Convert.ToDouble(dt.Compute("Avg(aba)", "1=1")); dr1["abc"] = Convert.ToDouble(dt.Compute("Avg(abc)", "1=1")); dr1["aba1"] = "<font color=" + (homefcList2.Average() > homefcList1.Average() ? "red" : "green") + ">" + homefcList2.Average() + "</font>"; dr1["abc1"] = "<font color=" + (awayfcList2.Average() > awayfcList1.Average() ? "red" : "green") + ">" + awayfcList2.Average() + "</font>"; #endregion dr1["baa"] = Convert.ToDouble(dt.Compute("Avg(baa)", "1=1")); dr1["bab"] = Convert.ToDouble(dt.Compute("Avg(bab)", "1=1")); dr1["bac"] = Convert.ToDouble(dt.Compute("Avg(bac)", "1=1")); dr1["bba"] = Convert.ToDouble(dt.Compute("Avg(bba)", "1=1")); dr1["bbb"] = Convert.ToDouble(dt.Compute("Avg(bbb)", "1=1")); dr1["bbc"] = Convert.ToDouble(dt.Compute("Avg(bbc)", "1=1")); dr1["baa1"] = Convert.ToDouble(dt.Compute("Var(baa)", "1=1")); dr1["bab1"] = Convert.ToDouble(dt.Compute("Var(bab)", "1=1")); dr1["bac1"] = Convert.ToDouble(dt.Compute("Var(bac)", "1=1")); dr1["bba1"] = "<font color=" + (Convert.ToDouble(dt.Compute("Var(bba)", "1=1")) > Convert.ToDouble(dr1["baa1"]) ? "red" : "green") + ">" + Convert.ToDouble(dt.Compute("Var(bba)", "1=1")) + "</font>"; dr1["bbb1"] = "<font color=" + (Convert.ToDouble(dt.Compute("Var(bbb)", "1=1")) > Convert.ToDouble(dr1["bab1"]) ? "red" : "green") + ">" + Convert.ToDouble(dt.Compute("Var(bbb)", "1=1")) + "</font>"; dr1["bbc1"] = "<font color=" + (Convert.ToDouble(dt.Compute("Var(bbc)", "1=1")) > Convert.ToDouble(dr1["bac1"]) ? "red" : "green") + ">" + Convert.ToDouble(dt.Compute("Var(bbc)", "1=1")) + "</font>"; dt.Rows.Add(dr1); } JObject result = new JObject(); result.Add(new JProperty("success", true)); result.Add(new JProperty("totlalCount", dt.Rows.Count)); result.Add(new JProperty("data", JArray.FromObject(dt))); JsonStr = result.ToString(); } else { JsonStr = "{success:false,message:'请求数据异常!'}"; } } catch (Exception e) { JsonStr = "{success:false,message:'" + e.Message + "'}"; } }