/// <summary> /// 获得列表 /// </summary> /// <returns></returns> public List<OddsLiveMatch> GetMatchScrollOdds(string matchid,string urlparams) { List<OddsLiveMatch> liveMatchList = new List<OddsLiveMatch>(); try { HttpHelper h = new HttpHelper(); Cookie lng = new Cookie("lng", "2"); lng.Domain = domain; h.CookieContainer.Add(lng); //string zoudi = h.GetHtml("https://" + domain + "/default.aspx" + urlparams); string zoudi = h.GetHtml(urlparams); if (!string.IsNullOrEmpty(zoudi)) { #region 分析网页html节点 Lexer lexer = new Lexer(zoudi); Parser parser = new Parser(lexer); NodeList bodyNodes = parser.Parse(new TagNameFilter("HTML"))[0].Children.ExtractAllNodesThatMatch(new TagNameFilter("BODY"))[0].Children; ITag divNode = bodyNodes.ExtractAllNodesThatMatch(new TagNameFilter("FORM"))[0].Children.ExtractAllNodesThatMatch(new TagNameFilter("DIV"))[0] as ITag; if (divNode.Attributes["ID"].Equals("PageBody")) { NodeList dataDivList = divNode.Children.SearchFor(typeof(Winista.Text.HtmlParser.Tags.Div)); if (dataDivList[0].ToPlainTextString() == "走地盤") { if (dataDivList[2].ToPlainTextString() == "全場賽果") { OddsLiveHistory liveHistory = new OddsLiveHistory(); liveHistory.matchid = matchid; liveHistory.home = float.Parse(dataDivList[3].ToPlainTextString().Split(' ')[0]); liveHistory.draw = float.Parse(dataDivList[5].ToPlainTextString().Split(' ')[0]); liveHistory.away = float.Parse(dataDivList[7].ToPlainTextString().Split(' ')[0]); liveHistory.time = DateTime.Now; dal.AddHistory(liveHistory); } } } #endregion 分析网页html节点 } } catch (Exception) { } return liveMatchList; }
/// <summary> /// 增加一条数据 /// </summary> public void AddHistory(SeoWebSite.Model.OddsLiveHistory model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into oddslive_history("); strSql.Append("matchid,home,draw,away,time)"); strSql.Append(" values ("); strSql.Append("@matchid,@home,@draw,@away,@time)"); SqlParameter[] parameters = { new SqlParameter("@matchid", SqlDbType.VarChar), new SqlParameter("@home", SqlDbType.Float), new SqlParameter("@draw", SqlDbType.Float), new SqlParameter("@away", SqlDbType.Float), new SqlParameter("@time", SqlDbType.DateTime) }; parameters[0].Value = model.matchid; parameters[1].Value = model.home; parameters[2].Value = model.draw; parameters[3].Value = model.away; parameters[4].Value = model.time; DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); }