Пример #1
0
        /// <summary>
        ///     获取主站下开奖详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var entity = new KaijiangDetailsEntity
            {
                Gdje = nodes[4].InnerText,
                Trje = nodes[3].InnerText
            };

            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = nodes[5].InnerText,
                    TotalMoney = nodes[6].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = nodes[7].InnerText,
                    TotalMoney = nodes[8].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "三等奖",
                    Total      = nodes[9].InnerText,
                    TotalMoney = nodes[10].InnerText
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #2
0
        /// <summary>
        /// 开奖详情
        /// </summary>
        /// <param name="optimizeUrl">地址</param>
        /// <returns></returns>
        private string GetKaijiangDetails(string optimizeUrl)
        {
            var url          = "https://www.8200.cn/kjh/qxc/" + optimizeUrl + ".htm";
            var htmlResource = NetHelper.GetUrlResponse(url, Encoding.GetEncoding("utf-8"));

            var doc = new HtmlDocument();

            doc.LoadHtml(htmlResource);

            var div = doc.DocumentNode.SelectSingleNode("//div[@class='text-16']");

            if (div == null)
            {
                return(null);
            }

            //爬去奖金
            var jiangjin = div.ChildNodes.Where(node => node.Name == "p").ToList();


            //爬去奖项
            //var tbody = div.ChildNodes.Where(node => node.Name == "tbody").ToList();
            var table = doc.DocumentNode.SelectSingleNode("//table");
            var trs   = table.ChildNodes.Where(node => node.Name == "tr").ToList();

            var gdje = jiangjin[2].InnerText.Replace(" 万元", "").Replace("奖池滚存:", "").Replace("--", "0").Replace(",", "")
                       .Trim();
            var trje = jiangjin[1].InnerText.Replace(" 万元", "").Replace("本期销量:", "").Replace("--", "0").Replace(",", "")
                       .Trim();


            var entity = new KaijiangDetailsEntity
            {
                Gdje = gdje == "0" ? "0" : (double.Parse(gdje) * 10000).ToString(),
                Trje = trje == "0" ? "0" : (double.Parse(trje) * 10000).ToString()
            };
            //TODO

            //组装详情
            var list = new List <Kaijiangitem>();

            for (var i = 0; i < trs.Count; i++)
            {
                var tds = trs[i].ChildNodes.Where(node => node.Name == "td").ToList();


                var kaijiangitem = new Kaijiangitem();

                var TotalMoney = tds[1].InnerText.Replace("元", "").Replace("--", "0").Replace(",", "").Trim();
                kaijiangitem.Name       = tds[0].InnerText.Trim();
                kaijiangitem.TotalMoney = TotalMoney == "0" ? "0" : double.Parse(TotalMoney).ToString();
                kaijiangitem.Total      = tds[2].InnerText.Trim().Replace(" 注", "").Replace("--", "0").Trim();
                list.Add(kaijiangitem);
            }


            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #3
0
        /// <summary>
        ///     获取主站下开奖详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var entity = new KaijiangDetailsEntity
            {
                Gdje = "0",
                Trje = string.IsNullOrEmpty(nodes[2].InnerText.Replace(",", "").Replace("元", ""))
                    ? "0"
                    : nodes[2].InnerText.Replace(",", "").Replace("元", "")
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = string.IsNullOrEmpty(nodes[3].InnerText) ? "0" : nodes[3].InnerText,
                    TotalMoney = string.IsNullOrEmpty(nodes[4].InnerText) ? "0" : nodes[4].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = string.IsNullOrEmpty(nodes[5].InnerText) ? "0" : nodes[5].InnerText,
                    TotalMoney = string.IsNullOrEmpty(nodes[6].InnerText) ? "0" : nodes[6].InnerText
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #4
0
        /// <summary>
        ///     获取主站下开奖详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var Trje       = nodes[3].InnerText.Replace("万", "").Trim();
            var TotalMoney = nodes[5].InnerText.Replace("万", "").Trim();
            var entity     = new KaijiangDetailsEntity
            {
                Gdje = "",
                Trje = Trje == "" ? "0" : (double.Parse(Trje) * 10000).ToString()
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name = "一等奖",

                    Total      = nodes[4].InnerText,
                    TotalMoney = TotalMoney == "" ? "0" : (double.Parse(TotalMoney) * 10000).ToString()
                },
                new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = nodes[6].InnerText,
                    TotalMoney = nodes[7].InnerText.Replace(",", "")
                },
                new Kaijiangitem
                {
                    Name       = "三等奖",
                    Total      = nodes[8].InnerText,
                    TotalMoney = "2000"
                },
                new Kaijiangitem
                {
                    Name       = "四等奖",
                    Total      = nodes[9].InnerText,
                    TotalMoney = "200"
                },
                new Kaijiangitem
                {
                    Name       = "五等奖",
                    Total      = nodes[10].InnerText,
                    TotalMoney = "20"
                },
                new Kaijiangitem
                {
                    Name       = "六等奖",
                    Total      = nodes[11].InnerText,
                    TotalMoney = "5"
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #5
0
        /// <summary>
        ///     完善主站江苏体彩7位数开奖详情信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeMainModel(ref OpenCode4DTModel model, HtmlNode tr)
        {
            var entity = new KaijiangDetailsEntity();

            entity.KaiJiangItems = new List <Kaijiangitem>();
            try
            {
                var tds        = tr.ChildNodes.Where(w => w.Name == "td").ToList();
                var xiaoshoue  = tds[4].InnerText.Replace(",", "");
                var jiangchi   = tds[13].InnerText.Replace(",", "");
                var shuzijiang = new Kaijiangitem
                {
                    Name       = "数字",
                    Total      = tds[5].InnerText,
                    TotalMoney = tds[6].InnerText
                };
                entity.KaiJiangItems.Add(shuzijiang);
                var shengxiaojiang = new Kaijiangitem
                {
                    Name       = "生肖",
                    Total      = tds[7].InnerText,
                    TotalMoney = tds[8].InnerText
                };
                entity.KaiJiangItems.Add(shengxiaojiang);
                var jijiejiang = new Kaijiangitem
                {
                    Name       = "季节",
                    Total      = tds[9].InnerText,
                    TotalMoney = tds[10].InnerText
                };
                entity.KaiJiangItems.Add(jijiejiang);
                var fangweijiang = new Kaijiangitem
                {
                    Name       = "方位",
                    Total      = tds[11].InnerText,
                    TotalMoney = tds[12].InnerText
                };
                entity.KaiJiangItems.Add(fangweijiang);
                entity.Gdje = jiangchi;
                entity.Trje = xiaoshoue;
                model.Spare = entity.TryToJson();
                return(true);
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #6
0
        /// <summary>
        ///     获取开奖详情
        /// </summary>
        /// <param name="qishu"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(string qishu)
        {
            var url          = "http://kaijiang.500.com/shtml/hbhy2/" + qishu + ".shtml";
            var htmlResource = NetHelper.GetUrlResponse(url, Encoding.GetEncoding("gb2312"));

            if (htmlResource == null)
            {
                return(null);
            }
            var doc = new HtmlDocument();

            doc.LoadHtml(htmlResource);
            var div = doc.DocumentNode.SelectSingleNode("//div[@style='margin:20px auto; width:500px;']");

            if (div == null)
            {
                return(null);
            }
            //爬去奖金
            var table = div.ChildNodes.Where(node => node.Name == "table").ToList();
            var tr    = table[0].ChildNodes.Where(node => node.Name == "tr").ToList();
            var td    = tr[2].ChildNodes.Where(node => node.Name == "td").ToList();
            var span  = td[0].ChildNodes.Where(node => node.Name == "span").ToList();
            //爬去开奖详情
            var tr1 = table[1].ChildNodes.Where(node => node.Name == "tr").ToList();
            var td1 = tr1[2].ChildNodes.Where(node => node.Name == "td").ToList();

            //			<td>				本期销量:<span class="cfont1 ">2,154元</span>&nbsp;&nbsp;&nbsp;&nbsp;奖池滚存:<span class="cfont1 ">0元</span></td>
            var entity = new KaijiangDetailsEntity
            {
                Gdje = span[1].InnerHtml.Trim().Replace("元", ""),
                Trje = span[0].InnerHtml.Trim().Replace("元", "")
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = td1[1].InnerHtml.Trim().Replace(",", ""),
                    TotalMoney = td1[2].InnerHtml.Trim().Replace(",", "")
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #7
0
        /// <summary>
        ///     完善备用站点江苏体彩7位数开奖实体信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeBackModel(ref OpenCode5DTModel model, HtmlNode tr)
        {
            try
            {
                var entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                var tds         = tr.ChildNodes.Where(w => w.Name == "td").ToList();
                var xiaoshoue   = tds[2].InnerText.Replace(",", "").Trim();
                var jiangchi    = "0";
                var tedengjiang = new Kaijiangitem
                {
                    Name       = "特等奖",
                    Total      = tds[3].InnerText.Trim(),
                    TotalMoney = tds[4].InnerText.Trim()
                };
                entity.KaiJiangItems.Add(tedengjiang);
                var yidengjiang = new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = tds[5].InnerText.Trim(),
                    TotalMoney = tds[6].InnerText.Trim()
                };
                entity.KaiJiangItems.Add(yidengjiang);
                var erdengjiang = new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = tds[7].InnerText.Trim(),
                    TotalMoney = tds[8].InnerText.Trim()
                };
                entity.KaiJiangItems.Add(erdengjiang);
                entity.Trje = xiaoshoue;
                entity.Gdje = jiangchi;
                model.Spare = entity.TryToJson();
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过备用站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #8
0
        /// <summary>
        ///     获取备用站点开奖列表数据
        /// </summary>
        /// <returns></returns>
        private List <OpenCode7DTModel> GetOpenListFromBackUrl()
        {
            var result = new List <OpenCode7DTModel>();

            try
            {
                var url          = string.Format("{0}&page = 1", Config.BackUrl);
                var htmlResource = NetHelper.GetUrlResponse(url, Encoding.Default);
                if (!string.IsNullOrEmpty(htmlResource))
                {
                    var doc = new HtmlDocument();
                    doc.LoadHtml(htmlResource);
                    var tables = doc.DocumentNode.SelectNodes("//table[@class]");
                    foreach (var item in tables[0].ChildNodes)
                    {
                        if (item.Name == "tr")
                        {
                            if (item.GetAttributeValue("class", "") == "")
                            {
                                var tds = item.ChildNodes.Select(w => w).ToList();
                                tds.RemoveAll(w => w.Name != "td");
                                if (tds.Count != 10)
                                {
                                    continue;
                                }
                                var qihao  = tds[0].InnerText;
                                var code   = tds[1].InnerText;
                                var optime = tds[9].InnerText;
                                if (code.Length > 6)
                                {
                                    var tmp = new OpenCode7DTModel
                                    {
                                        Term     = long.Parse(qihao),
                                        OpenTime = DateTime.Parse(optime)
                                    };
                                    tmp.OpenCode1 = int.Parse(code.Substring(0, 1));
                                    tmp.OpenCode2 = int.Parse(code.Substring(1, 1));
                                    tmp.OpenCode3 = int.Parse(code.Substring(2, 1));
                                    tmp.OpenCode4 = int.Parse(code.Substring(3, 1));
                                    tmp.OpenCode5 = int.Parse(code.Substring(4, 1));
                                    tmp.OpenCode6 = int.Parse(code.Substring(5, 1));
                                    tmp.OpenCode7 = int.Parse(code.Substring(6));
                                    var entity = new KaijiangDetailsEntity();
                                    entity.KaiJiangItems = new List <Kaijiangitem>();
                                    var xiaoshoue   = tds[2].InnerText.Replace(',', ' ').Replace('元', ' ').Trim();
                                    var yidengjiang = new Kaijiangitem
                                    {
                                        Name       = "一等奖",
                                        Total      = tds[3].InnerText.Trim(),
                                        TotalMoney = tds[4].InnerText.Trim()
                                    };
                                    entity.KaiJiangItems.Add(yidengjiang);
                                    var erdengjiang = new Kaijiangitem
                                    {
                                        Name       = "二等奖",
                                        Total      = tds[5].InnerText.Trim(),
                                        TotalMoney = tds[6].InnerText.Trim()
                                    };
                                    entity.KaiJiangItems.Add(erdengjiang);
                                    var sandengjiang = new Kaijiangitem
                                    {
                                        Name       = "三等奖",
                                        Total      = tds[7].InnerText.Trim(),
                                        TotalMoney = tds[8].InnerText.Trim()
                                    };
                                    entity.KaiJiangItems.Add(sandengjiang);
                                    entity.Trje = xiaoshoue;
                                    entity.Gdje = "0";
                                    tmp.Spare   = entity.TryToJson();
                                    result.Add(tmp);
                                }
                            }
                        }
                    }

                    var checkDataHelper = new CheckDataHelper();
                    var dbdata          = services.GetListS <OpenCode7DTModel>(currentLottery)
                                          .ToDictionary(w => w.Term.ToString(), w => w.GetCodeStr());
                    checkDataHelper.CheckData(dbdata, result.ToDictionary(w => w.Term.ToString(), w => w.GetCodeStr()),
                                              Config.Area, currentLottery);
                }
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过备用站点抓取开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(result);
        }
Пример #9
0
        /// <summary>
        ///     完善主站江苏体彩7位数开奖详情信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeMainModel(ref OpenCode7DTModel model)
        {
            var url = string.Format("http://www.jslottery.com/Lottery/LotteryDetails?PlayType=6&Issue={0}", model.Term);

            try
            {
                var htmlResource = NetHelper.GetUrlResponse(url);


                if (!string.IsNullOrEmpty(htmlResource))
                {
                    var entity = new KaijiangDetailsEntity
                    {
                        KaiJiangItems = new List <Kaijiangitem>()
                    };
                    var doc = new HtmlDocument();
                    doc.LoadHtml(htmlResource);
                    var tables = doc.DocumentNode.SelectNodes("//table");
                    if (tables.Count < 5)
                    {
                        return(false);
                    }
                    var     trs = tables[4].ChildNodes[0].ChildNodes.Where(S => S.Name.ToLower() == "tr").ToList();
                    decimal Sales = 0, Jackpot = 0;
                    foreach (var tr in trs)
                    {
                        var tds = tr.ChildNodes.Where(S => S.Name.ToLower() == "td").ToList();
                        if (tds.Count < 3)
                        {
                            continue;
                        }
                        if (tds[0].InnerText == "一等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "一等奖",
                                Total      = tds[1].InnerText.Trim(),
                                TotalMoney = tds[2].InnerText.Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                            // Level1Num = Convert.ToInt32(tds[1].InnerText);
                            //Level1Money = Convert.ToInt32(tds[2].InnerText);
                        }
                        else if (tds[0].InnerText == "二等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "二等奖",
                                Total      = tds[1].InnerText.Trim(),
                                TotalMoney = tds[2].InnerText.Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[0].InnerText == "三等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "三等奖",
                                Total      = tds[1].InnerText.Trim(),
                                TotalMoney = tds[2].InnerText.Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[0].InnerText == "四等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "四等奖",
                                Total      = tds[1].InnerText.Trim(),
                                TotalMoney = tds[2].InnerText.Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[0].InnerText == "五等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "五等奖",
                                Total      = tds[1].InnerText.Trim(),
                                TotalMoney = tds[2].InnerText.Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[0].InnerText == "六等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "六等奖",
                                Total      = tds[1].InnerText.Trim(),
                                TotalMoney = tds[2].InnerText.Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                    }

                    var reg   = new Regex(@"本期投注总额<span>([\d.,]*?)</span>");
                    var match = reg.Match(htmlResource);
                    if (match.Success)
                    {
                        Sales = Convert.ToDecimal(match.Result("$1").Replace(",", string.Empty)) * 10000;
                    }
                    else
                    {
                        reg   = new Regex(@"本期投注总额<span lang=""EN-US"">([\d.,]*?)</span>");
                        match = reg.Match(htmlResource);
                        if (match.Success)
                        {
                            Sales = Convert.ToDecimal(match.Result("$1").Replace(",", string.Empty)) * 10000;
                        }
                    }

                    Jackpot     = Convert.ToDecimal(model.Spare.Replace(",", string.Empty)) * 10000;
                    entity.Gdje = Jackpot.ToString();
                    entity.Trje = Sales.ToString();
                    model.Spare = entity.TryToJson();
                    //model.Spare = string.Format("{0},{1}^一等奖|{2}|{3},二等奖|{4}|{5},三等奖|{6}|{7},四等奖|{8}|{9},五等奖|{10}|{11},六等奖|{12}|{13}",
                    //            Sales, Jackpot, Level1Num, Level1Money, Level2Num, Level2Money, Level3Num, Level3Money,
                    //            Level4Num, Level4Money, Level5Num, Level5Money, Level6Num, Level6Money);
                    return(true);
                }
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点完善抓取开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #10
0
        /// <summary>
        ///     获取开奖详情
        /// </summary>
        /// <param name="qishu"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(string qishu)
        {
            //https://www.cp2y.com/20x5/20x5kj/18017/
            var url          = "https://www.cp2y.com/15x5/15x5kj/" + qishu + "/";
            var htmlResource = NetHelper.GetUrlResponse(url, Encoding.GetEncoding("utf-8"));

            if (htmlResource == null)
            {
                return(null);
            }

            var doc = new HtmlDocument();

            doc.LoadHtml(htmlResource);

            var div = doc.DocumentNode.SelectSingleNode("//div[@class='fl lh24 f14']");

            if (div == null)
            {
                return(null);
            }

            var div2 = div.ChildNodes.Where(node => node.Name == "div").ToList();
            //爬去奖金
            var trjeg = div2[1].ChildNodes.Where(node => node.Name == "span").ToList();
            var gdjeg = div2[2].ChildNodes.Where(node => node.Name == "span").ToList();

            //爬去奖项
            //var tbody = div.ChildNodes.Where(node => node.Name == "tbody").ToList();
            var table = doc.DocumentNode.SelectSingleNode("//table");
            var trs   = table.ChildNodes.Where(node => node.Name == "tr").ToList();

            var gdje = gdjeg[1].InnerText.Replace("奖池资金累计金额:", "").Replace(" 元", "").Replace("--", "0").Replace(",", "")
                       .Trim();
            var trje = trjeg[1].InnerText.Replace("本期15选5投注总额:", "").Replace(" 元", "").Replace("--", "0")
                       .Replace(",", "").Trim();

            var entity = new KaijiangDetailsEntity
            {
                Gdje = gdje == "0" ? "0" : (double.Parse(gdje) * 1).ToString(),
                Trje = trje == "0" ? "0" : (double.Parse(trje) * 1).ToString()
            };
            //TODO

            //组装详情
            var list = new List <Kaijiangitem>();

            for (var i = 1; i < trs.Count; i++)
            {
                var tds = trs[i].ChildNodes.Where(node => node.Name == "td").ToList();


                var kaijiangitem = new Kaijiangitem();

                var TotalMoney = tds[3].InnerText.Replace("元", "").Replace("--", "0").Replace(",", "").Trim();
                kaijiangitem.Name       = tds[1].InnerText.Trim();
                kaijiangitem.TotalMoney = TotalMoney == "0" ? "0" : double.Parse(TotalMoney).ToString();
                kaijiangitem.Total      = tds[2].InnerText.Replace(" 注", "").Replace("--", "0").Trim();
                list.Add(kaijiangitem);
            }

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #11
0
        /// <summary>
        ///     完善备用站点浙江体彩6+1开奖实体信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeBackModel(ref OpenCode7DTModel model)
        {
            try
            {
                var entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                var htmlResource = NetHelper.GetUrlResponse(model.DetailUrl);
                if (!string.IsNullOrEmpty(htmlResource))
                {
                    var doc = new HtmlDocument();
                    doc.LoadHtml(htmlResource);
                    var tables = doc.DocumentNode.SelectNodes("//table");
                    if (tables.Count < 1)
                    {
                        return(false);
                    }
                    var trs = tables[0].ChildNodes.Where(N => N.Name.ToLower() == "tr").ToList();
                    for (var i = 1; i < trs.Count; i++) //第一行为表头
                    {
                        var tds = trs[i].ChildNodes.Where(N => N.Name.ToLower() == "td").ToList();
                        if (tds.Count < 4)
                        {
                            continue;
                        }
                        if (tds[1].InnerText == "特等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "特等奖",
                                Total      = tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim(),
                                TotalMoney =
                                    tds[3].InnerText.Replace("元", string.Empty).Trim() == "--"
                                        ? "0"
                                        : tds[3].InnerText.Replace("元", string.Empty).Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                            //Level1Num = Convert.ToInt32(tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim());
                            // Level1Money = Convert.ToDecimal(tds[3].InnerText.Replace("元", string.Empty).Trim() == "--" ? "0" : tds[3].InnerText.Replace("元", string.Empty).Trim());
                        }
                        else if (tds[1].InnerText == "一等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "一等奖",
                                Total      = tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim(),
                                TotalMoney =
                                    tds[3].InnerText.Replace("元", string.Empty).Trim() == "--"
                                        ? "0"
                                        : tds[3].InnerText.Replace("元", string.Empty).Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[1].InnerText == "二等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "二等奖",
                                Total      = tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim(),
                                TotalMoney =
                                    tds[3].InnerText.Replace("元", string.Empty).Trim() == "--"
                                        ? "0"
                                        : tds[3].InnerText.Replace("元", string.Empty).Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[1].InnerText == "三等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "三等奖",
                                Total      = tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim(),
                                TotalMoney =
                                    tds[3].InnerText.Replace("元", string.Empty).Trim() == "--"
                                        ? "0"
                                        : tds[3].InnerText.Replace("元", string.Empty).Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[1].InnerText == "四等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "四等奖",
                                Total      = tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim(),
                                TotalMoney =
                                    tds[3].InnerText.Replace("元", string.Empty).Trim() == "--"
                                        ? "0"
                                        : tds[3].InnerText.Replace("元", string.Empty).Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }
                        else if (tds[1].InnerText == "五等奖")
                        {
                            var tmp = new Kaijiangitem
                            {
                                Name       = "五等奖",
                                Total      = tds[2].InnerText.Replace("注", string.Empty).Replace(",", string.Empty).Trim(),
                                TotalMoney =
                                    tds[3].InnerText.Replace("元", string.Empty).Trim() == "--"
                                        ? "0"
                                        : tds[3].InnerText.Replace("元", string.Empty).Trim()
                            };
                            entity.KaiJiangItems.Add(tmp);
                        }

                        var reg1   = new Regex(@"投注总额:([\d,.]*?) 元");
                        var match1 = reg1.Match(htmlResource);
                        if (match1.Success)
                        {
                            var sales = match1.Result("$1");
                            // Sales = Convert.ToDecimal(sales);
                            entity.Trje = sales;
                        }

                        var reg2   = new Regex(@"奖池资金累计金额:([\d,.]*?) 元");
                        var match2 = reg2.Match(htmlResource);
                        if (match2.Success)
                        {
                            var jackpot = match2.Result("$1");
                            //Jackpot = Convert.ToDecimal(jackpot);
                            entity.Gdje = jackpot;
                        }

                        // string.Format("{0},{1}^特等奖|{2}|{3},一等奖|{4}|{5},二等奖|{6}|{7},三等奖|{8}|{9},四等奖|{10}|{11},五等奖|{12}|{13}",
                        // Sales, Jackpot, Level1Num, Level1Money, Level2Num, Level2Money, Level3Num, Level3Money,
                        // Level4Num, Level4Money, Level5Num, Level5Money, Level6Num, Level6Money);
                    }

                    model.Spare = entity.TryToJson();
                }

                return(true);
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #12
0
        /// <summary>
        ///     完善主站浙江体彩6+1开奖详情信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeMainModel(ref OpenCode7DTModel model, HtmlNode tr)
        {
            try
            {
                var tds    = tr.ChildNodes.Where(w => w.Name == "td").ToList();
                var entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                var xiaoshoue      = tds[8].InnerText.Trim();
                var jiangchi       = (double.Parse(tds[9].InnerText.Trim()) * 10000).ToString();
                var tedengjiangary = tds[2].InnerText.Trim().Split('注', '元');

                var tedengjiang = new Kaijiangitem
                {
                    Name       = "特等奖",
                    Total      = tedengjiangary[0].Replace(",", string.Empty),
                    TotalMoney = tedengjiangary[1].Replace(",", string.Empty).Replace("\t", "")
                };
                entity.KaiJiangItems.Add(tedengjiang);
                var yidengjiangary = tds[3].InnerText.Trim().Split('注', '元');
                var yidengjiang    = new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = yidengjiangary[0].Replace(",", string.Empty),
                    TotalMoney = yidengjiangary[1].Replace(",", string.Empty).Replace("\t", "")
                };
                entity.KaiJiangItems.Add(yidengjiang);
                var erdengjiangary = tds[4].InnerText.Trim().Split('注', '元');
                var erdengjiang    = new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = erdengjiangary[0].Replace(",", string.Empty),
                    TotalMoney = erdengjiangary[1].Replace(",", string.Empty).Replace("t\\", "")
                };
                entity.KaiJiangItems.Add(erdengjiang);
                var sandengjiangary = tds[5].InnerText.Trim().Split('注', '元');
                var sandengjiang    = new Kaijiangitem
                {
                    Name       = "三等奖",
                    Total      = sandengjiangary[0].Replace(",", string.Empty),
                    TotalMoney = sandengjiangary[1].Replace(",", string.Empty).Replace("\t", "")
                };
                entity.KaiJiangItems.Add(sandengjiang);
                var sidengjiangary = tds[6].InnerText.Trim().Split('注', '元');
                var sidengjiang    = new Kaijiangitem
                {
                    Name       = "四等奖",
                    Total      = sidengjiangary[0].Replace(",", string.Empty),
                    TotalMoney = sidengjiangary[1].Replace(",", string.Empty).Replace("\t", "")
                };
                entity.KaiJiangItems.Add(sidengjiang);
                var wudengjiangary = tds[7].InnerText.Trim().Split('注', '元');
                var wudengjiang    = new Kaijiangitem
                {
                    Name       = "五等奖",
                    Total      = wudengjiangary[0].Replace(",", string.Empty),
                    TotalMoney = wudengjiangary[1].Replace(",", string.Empty).Replace("\t", "")
                };
                entity.KaiJiangItems.Add(wudengjiang);
                model.Spare = entity.TryToJson();
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #13
0
        /// <summary>
        ///     获取主站下开奖详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var entity = new KaijiangDetailsEntity
            {
                Gdje = nodes[9].InnerText.Replace(",", ""),
                Trje = nodes[8].InnerText.Replace(",", "")
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name = "特等奖",
                    /// "0注<br>\t\t\t\t\t\t\t0.00元"
                    Total = nodes[2].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[2].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1].Replace(",", "")
                },
                new Kaijiangitem
                {
                    Name = "一等奖",
                    /// "0注<br>\t\t\t\t\t\t\t0.00元"
                    Total = nodes[3].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[3].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1].Replace(",", "")
                },
                new Kaijiangitem
                {
                    Name = "二等奖",
                    /// "0注<br>\t\t\t\t\t\t\t0.00元"
                    Total = nodes[4].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[4].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1].Replace(",", "")
                },
                new Kaijiangitem
                {
                    Name = "三等奖",
                    /// "0注<br>\t\t\t\t\t\t\t0.00元"
                    Total = nodes[4].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[4].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name = "四等奖",
                    /// "0注<br>\t\t\t\t\t\t\t0.00元"
                    Total = nodes[5].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[5].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name = "五等奖",
                    /// "0注<br>\t\t\t\t\t\t\t0.00元"
                    Total = nodes[2].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[2].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1]
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #14
0
        /// <summary>
        ///     获取主站下开奖详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var entity = new KaijiangDetailsEntity
            {
                Gdje = nodes[11].InnerText.Replace(",", ""),
                Trje = nodes[10].InnerText.Replace(",", "")
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name  = "4+1",
                    Total = nodes[2].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[2].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "定位4",
                    Total = nodes[3].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[3].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "定位3",
                    Total = nodes[4].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[4].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "定位2",
                    Total = nodes[5].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[5].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "定位1",
                    Total = nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "任选4(3重)",
                    Total = nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "任选4(2双重)",
                    Total = nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                },
                new Kaijiangitem
                {
                    Name  = "任选4(1双重)",
                    Total = nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "")
                            .Split("注".ToCharArray())[0],
                    TotalMoney =
                        nodes[6].InnerText.Replace("<br>", "").Replace("\t", "").Replace("元", "").Replace(",", "")
                        .Split("注".ToCharArray())[1]
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #15
0
        /// <summary>
        ///     获取主站开奖列表数据
        /// </summary>
        /// <returns></returns>
        private List <OpenCode8DTModel> GetOpenListFromMainUrl()
        {
            var result = new List <OpenCode8DTModel>();

            try
            {
                var htmlResource =
                    NetHelper.GetUrlResponse(Config.MainUrl +
                                             string.Format("&r={0}", new Random().Next(1000, 9999))); //只取第一页数据,最新5条记录
                if (htmlResource == null)
                {
                    return(result);
                }

                var doc = new HtmlDocument();
                doc.LoadHtml(htmlResource);
                var divSections = doc.DocumentNode.SelectNodes("//div[@class='artCon KJDetail']").ToList();
                if (divSections == null)
                {
                    return(result);
                }

                OpenCode8DTModel model = null;
                var             lastYear = (CommonHelper.SCCSysDateTime.Year - 1).ToString().Substring(2);
                HtmlNode        divSummary, divDetail, table, tbody;
                List <HtmlNode> divContent, divInfos, spans, trs, tds, divDetails, divTexts;
                string          term        = string.Empty,
                                detailName  = string.Empty,
                                detailNum   = string.Empty,
                                detailMoney = string.Empty;
                string[] openCode           = null;
                Regex    reg                = null;
                Match    m = null;
                foreach (var divSection in divSections)
                {
                    var entity = new KaijiangDetailsEntity();
                    entity.KaiJiangItems = new List <Kaijiangitem>();
                    model    = new OpenCode8DTModel();
                    divInfos = divSection.ChildNodes.Where(N => N.Name.ToLower() == "div").ToList();
                    if (divInfos.Count < 2)
                    {
                        continue;
                    }
                    divContent = divInfos[1].ChildNodes.Where(N => N.Name.ToLower() == "div").ToList();
                    if (divContent.Count < 2)
                    {
                        continue;
                    }
                    divSummary = divContent[0]; //概述
                    divDetail  = divContent[1]; //详情
                    spans      = divSummary.ChildNodes.First(N => N.Name.ToLower() == "strong").ChildNodes
                                 .Where(N => N.Name.ToLower() == "span").ToList();
                    term = spans[0].InnerText;
                    if (term.StartsWith(lastYear))
                    {
                        break;
                    }
                    model.Term     = Convert.ToInt32(term);
                    model.OpenTime = Convert.ToDateTime(spans[2].InnerText.Replace("年", "-").Replace("月", "-")
                                                        .Replace("日", string.Empty));
                    openCode        = (spans[3].InnerText + " " + spans[4].InnerText).Trim().Split(' ');
                    model.OpenCode1 = Convert.ToInt32(openCode[0]);
                    model.OpenCode2 = Convert.ToInt32(openCode[1]);
                    model.OpenCode3 = Convert.ToInt32(openCode[2]);
                    model.OpenCode4 = Convert.ToInt32(openCode[3]);
                    model.OpenCode5 = Convert.ToInt32(openCode[4]);
                    model.OpenCode6 = Convert.ToInt32(openCode[5]);
                    model.OpenCode7 = Convert.ToInt32(openCode[6]);
                    model.OpenCode8 = Convert.ToInt32(openCode[7]);

                    table = divDetail.ChildNodes.FirstOrDefault(N => N.Name.ToLower() == "table");
                    if (table == null)
                    {
                        divDetails = divDetail.ChildNodes.Where(N => N.Name.ToLower() == "div").ToList();
                        if (divDetails.Count < 14)
                        {
                            continue;
                        }
                        for (var i = 4; i < 12; i++)
                        {
                            divTexts = divDetails[i].ChildNodes.Where(N => N.Name.ToLower() == "#text").ToList();
                            if (divTexts.Count < 4)
                            {
                                continue;
                            }
                            detailName = divTexts[0].InnerText.Replace("&nbsp;", string.Empty).Trim();
                            detailNum  = divTexts[1].InnerText.Replace("&nbsp;", string.Empty).Replace("注", string.Empty)
                                         .Trim();
                            detailMoney = divTexts[2].InnerText.Replace("&nbsp;", string.Empty)
                                          .Replace(",", string.Empty).Replace("元", string.Empty).Trim();
                            if (detailName == "一等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "一等奖",
                                    Total      = detailNum,
                                    TotalMoney = detailMoney
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (detailName == "二等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "二等奖",
                                    Total      = detailNum,
                                    TotalMoney = detailMoney
                                };
                                entity.KaiJiangItems.Add(tmp);
                                // Level2Num = Convert.ToInt32(detailNum);
                                // Level2Money = Convert.ToDecimal(detailMoney);
                            }
                            else if (detailName == "三等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "三等奖",
                                    Total      = detailNum,
                                    TotalMoney = detailMoney
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (detailName == "四等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "四等奖",
                                    Total      = detailNum,
                                    TotalMoney = detailMoney
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (detailName == "五等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "五等奖",
                                    Total      = detailNum,
                                    TotalMoney = detailMoney
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (detailName == "六等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "六等奖",
                                    Total      = detailNum,
                                    TotalMoney = detailMoney
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                        }
                    }
                    else
                    {
                        tbody = table.ChildNodes.FirstOrDefault(N => N.Name.ToLower() == "tbody");
                        if (tbody == null)
                        {
                            continue;
                        }
                        trs = tbody.ChildNodes.Where(N => N.Name.ToLower() == "tr").ToList();
                        for (var i = 4; i < trs.Count; i++) //第一二三四行是表头
                        {
                            tds = trs[i].ChildNodes.Where(N => N.Name.ToLower() == "td").ToList();
                            if (tds.Count < 3)
                            {
                                continue;
                            }
                            if (tds[0].InnerText.Trim() == "一等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name  = "一等奖",
                                    Total = tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty)
                                            .Replace(",", string.Empty).Trim(),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty)
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                                //Level1Num = Convert.ToInt32(tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty).Replace(",", string.Empty).Trim());
                                //Level1Money = Convert.ToDecimal(tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty).Trim());
                            }
                            else if (tds[0].InnerText.Trim() == "二等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name  = "二等奖",
                                    Total = tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty)
                                            .Replace(",", string.Empty).Trim(),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty)
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                                // Level2Num = Convert.ToInt32(tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty).Replace(",", string.Empty).Trim());
                                //Level2Money = Convert.ToDecimal(tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty).Trim());
                            }
                            else if (tds[0].InnerText.Trim() == "三等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name  = "三等奖",
                                    Total = tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty)
                                            .Replace(",", string.Empty).Trim(),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty)
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                                // Level3Num = Convert.ToInt32(tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty).Replace(",", string.Empty).Trim());
                                // Level3Money = Convert.ToDecimal(tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty).Trim());
                            }
                            else if (tds[0].InnerText.Trim() == "四等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name  = "四等奖",
                                    Total = tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty)
                                            .Replace(",", string.Empty).Trim(),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty)
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (tds[0].InnerText.Trim() == "五等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name  = "五等奖",
                                    Total = tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty)
                                            .Replace(",", string.Empty).Trim(),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty)
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (tds[0].InnerText.Trim() == "六等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name  = "六等奖",
                                    Total = tds[1].InnerText.Replace("注", string.Empty).Replace("&nbsp;", string.Empty)
                                            .Replace(",", string.Empty).Trim(),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("&nbsp;", string.Empty)
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                        }
                    }

                    //抓取奖池累计数据
                    reg = new Regex(@"([\d,.]*?)元奖金滚入下期奖池");
                    // Sales = Convert.ToDecimal(spans[1].InnerText);
                    entity.Trje = spans[1].InnerText;
                    m           = reg.Match(divSection.InnerHtml);
                    if (m.Success)
                    {
                        // Jackpot = Convert.ToDecimal(m.Result("$1"));
                        entity.Gdje = m.Result("$1");
                    }
                    model.Spare = entity.TryToJson();
                    //model.Spare = string.Format("{0},{1}^一等奖|{2}|{3},二等奖|{4}|{5},三等奖|{6}|{7},四等奖|{8}|{9},五等奖|{10}|{11},六等奖|{12}|{13}",
                    //    Sales, Jackpot, Level1Num, Level1Money, Level2Num, Level2Money, Level3Num, Level3Money, Level4Num,
                    //    Level4Money, Level5Num, Level5Money, Level6Num, Level6Money);
                    result.Add(model);
                }

                var checkDataHelper = new CheckDataHelper();
                var dbdata          = services.GetListS <OpenCode8DTModel>(currentLottery)
                                      .ToDictionary(w => w.Term.ToString(), w => w.GetCodeStr());
                checkDataHelper.CheckData(dbdata, result.ToDictionary(w => w.Term.ToString(), w => w.GetCodeStr()),
                                          Config.Area, currentLottery);
                result = result.OrderByDescending(S => S.Term).ToList();
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点抓取开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(result);
        }
Пример #16
0
        /// <summary>
        /// 获取主站的数据详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var entity = new KaijiangDetailsEntity
            {
                Gdje = "",
                Trje = (double.Parse(nodes[3].InnerText.Trim().Replace("万", "")) * 10000).ToString()
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = nodes[4].InnerText.Replace(",", ""),
                    TotalMoney = nodes[5].InnerText.Replace(",", "")
                },
                new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = nodes[6].InnerText.Replace(",", ""),
                    TotalMoney = nodes[7].InnerText.Replace(",", "")
                },
                new Kaijiangitem
                {
                    Name       = "三等奖",
                    Total      = nodes[8].InnerText.Replace(",", ""),
                    TotalMoney = "200"
                },
                new Kaijiangitem
                {
                    Name       = "四等奖",
                    Total      = nodes[9].InnerText.Replace(",", ""),
                    TotalMoney = "50"
                },
                new Kaijiangitem
                {
                    Name       = "五等奖",
                    Total      = nodes[10].InnerText,
                    TotalMoney = "10"
                },
                new Kaijiangitem
                {
                    Name       = "六等奖",
                    Total      = nodes[11].InnerText,
                    TotalMoney = "4"
                },
                new Kaijiangitem
                {
                    Name       = "好运特",
                    Total      = nodes[12].InnerText,
                    TotalMoney = nodes[13].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "好运二",
                    Total      = nodes[14].InnerText,
                    TotalMoney = nodes[15].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "好运三",
                    Total      = nodes[16].InnerText,
                    TotalMoney = nodes[17].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "好运四",
                    Total      = nodes[18].InnerText,
                    TotalMoney = nodes[19].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "好运五",
                    Total      = nodes[20].InnerText,
                    TotalMoney = nodes[21].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "幸运奖",
                    Total      = nodes[22].InnerText,
                    TotalMoney = nodes[23].InnerText
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #17
0
        /// <summary>
        ///     获取主站下开奖详情
        /// </summary>
        /// <param name="nodes"></param>
        /// <returns></returns>
        private string GetKaijiangDetails(List <HtmlNode> nodes)
        {
            var entity = new KaijiangDetailsEntity
            {
                Gdje = "",
                Trje = ""
            };
            //TODO
            var list1 = new List <Kaijiangitem>();
            //组装详情
            var list = new List <Kaijiangitem>
            {
                new Kaijiangitem
                {
                    Name       = "特等奖",
                    Total      = nodes[3].InnerText,
                    TotalMoney = nodes[4].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = nodes[5].InnerText,
                    TotalMoney = nodes[6].InnerText
                },
                new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = nodes[7].InnerText,
                    TotalMoney = "1000"
                },
                new Kaijiangitem
                {
                    Name       = "三等奖",
                    Total      = nodes[8].InnerText,
                    TotalMoney = "200"
                },
                new Kaijiangitem
                {
                    Name       = "四等奖",
                    Total      = nodes[9].InnerText,
                    TotalMoney = "100"
                },
                new Kaijiangitem
                {
                    Name       = "五等奖",
                    Total      = nodes[10].InnerText,
                    TotalMoney = "10"
                },
                new Kaijiangitem
                {
                    Name       = "六等奖",
                    Total      = nodes[11].InnerText,
                    TotalMoney = "3"
                },
                new Kaijiangitem
                {
                    Name       = "七等奖",
                    Total      = nodes[12].InnerText,
                    TotalMoney = "1"
                }
            };

            entity.KaiJiangItems = list;

            return(entity.TryToJson());
        }
Пример #18
0
        /// <summary>
        ///     给开奖信息加上开奖详情
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        private bool OptimizeMainModel(ref OpenCode8DTModel modelr, HtmlNode tr)
        {
            try
            {
                var entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                var tds = tr.ChildNodes.Select(w => w).ToList();
                tds.RemoveAll(w => w.Name != "td");
                if (tds.Count != 13)
                {
                    return(false);
                }
                var tdjstr      = tds[2].InnerText.Trim().Split('注', '元');
                var tedengjiang = new Kaijiangitem
                {
                    Name       = "特等奖",
                    Total      = tdjstr[0].Replace(",", "").Trim(),
                    TotalMoney = tdjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(tedengjiang);
                var ydjstr      = tds[3].InnerText.Trim().Split('注', '元');
                var yidengjiang = new Kaijiangitem
                {
                    Name       = "一等奖",
                    Total      = ydjstr[0].Replace(",", "").Trim(),
                    TotalMoney = ydjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(yidengjiang);
                var edjstr      = tds[4].InnerText.Trim().Split('注', '元');
                var erdengjiang = new Kaijiangitem
                {
                    Name       = "二等奖",
                    Total      = edjstr[0].Replace(",", "").Trim(),
                    TotalMoney = edjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(erdengjiang);
                var sdjstr       = tds[5].InnerText.Trim().Split('注', '元');
                var sandengjiang = new Kaijiangitem
                {
                    Name       = "三等奖",
                    Total      = sdjstr[0].Replace(",", "").Trim(),
                    TotalMoney = sdjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(sandengjiang);
                var sidjstr     = tds[6].InnerText.Trim().Split('注', '元');
                var sidengjiang = new Kaijiangitem
                {
                    Name       = "四等奖",
                    Total      = sidjstr[0].Replace(",", "").Trim(),
                    TotalMoney = sidjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(sidengjiang);

                var wdjstr      = tds[7].InnerText.Trim().Split('注', '元');
                var wudengjiang = new Kaijiangitem
                {
                    Name       = "五等奖",
                    Total      = wdjstr[0].Replace(",", "").Trim(),
                    TotalMoney = wdjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(wudengjiang);

                var ldjstr       = tds[8].InnerText.Trim().Split('注', '元');
                var liudengjiang = new Kaijiangitem
                {
                    Name       = "六等奖",
                    Total      = ldjstr[0].Replace(",", "").Trim(),
                    TotalMoney = ldjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(liudengjiang);

                var xyjstr       = tds[9].InnerText.Trim().Split('注', '元');
                var xingyunjiang = new Kaijiangitem
                {
                    Name       = "幸运奖",
                    Total      = xyjstr[0].Replace(",", "").Trim(),
                    TotalMoney = xyjstr[1].Replace(",", "").Trim()
                };
                entity.KaiJiangItems.Add(xingyunjiang);
                entity.Gdje  = tds[11].InnerText.Replace(",", "").Trim();
                entity.Trje  = tds[10].InnerText.Replace(",", "").Trim();
                modelr.Spare = entity.TryToJson();
                return(true);
            }
            catch (Exception ee)
            {
                return(false);
            }
        }
Пример #19
0
        /// <summary>
        ///     完善主站江苏体彩7位数开奖详情信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeMainModel(ref OpenCode5DTModel model)
        {
            try
            {
                var entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                var htmlResource = NetHelper.GetUrlResponse(model.DetailUrl);
                if (string.IsNullOrWhiteSpace(htmlResource))
                {
                    return(false);
                }
                var doc = new HtmlDocument();
                doc.LoadHtml(htmlResource);
                var table = doc.DocumentNode.SelectSingleNode("//table");
                if (table == null)
                {
                    return(false);
                }
                var             trs = table.ChildNodes.Where(C => C.Name == "tr").ToList();
                List <HtmlNode> tds = null;
                foreach (var tr in trs)
                {
                    tds = tr.ChildNodes.Where(S => S.Name.ToLower() == "td").ToList();
                    if (tds.Count < 3)
                    {
                        continue;
                    }
                    if (tds[0].InnerText == "一等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "一等奖",
                            Total      = tds[1].InnerText.Replace("注", ""),
                            TotalMoney = tds[2].InnerText.Replace("元", "")
                        };
                        entity.KaiJiangItems.Add(tmp);
                        // Level1Num = Convert.ToInt32(tds[1].InnerText.Replace("注", ""));
                        // Level1Money = Convert.ToInt32(tds[2].InnerText.Replace("元", ""));
                    }
                    else if (tds[0].InnerText == "二等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "二等奖",
                            Total      = tds[1].InnerText.Replace("注", ""),
                            TotalMoney = tds[2].InnerText.Replace("元", "")
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                    else if (tds[0].InnerText == "三等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "三等奖",
                            Total      = tds[1].InnerText.Replace("注", ""),
                            TotalMoney = tds[2].InnerText.Replace("元", "")
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                    else if (tds[0].InnerText == "好运二")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "好运二",
                            Total      = tds[1].InnerText.Replace("注", ""),
                            TotalMoney = tds[2].InnerText.Replace("元", "")
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                    else if (tds[0].InnerText == "好运三")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "好运三",
                            Total      = tds[1].InnerText.Replace("注", ""),
                            TotalMoney = tds[2].InnerText.Replace("元", "")
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                    else if (tds[0].InnerText == "好运四")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "好运四",
                            Total      = tds[1].InnerText.Replace("注", ""),
                            TotalMoney = tds[2].InnerText.Replace("元", "")
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                }

                var salesjackpot = model.Spare.Split('|');
                entity.Trje = salesjackpot[0];
                entity.Gdje = salesjackpot[1];
                model.Spare = entity.TryToJson();
                //string.Format("{0},{1}^一等奖|{2}|{3},二等奖|{4}|{5},三等奖|{6}|{7},好运二|{8}|{9},好运三|{10}|{11},好运四|{12}|{13}",
                // salesjackpot[0], salesjackpot[1], Level1Num, Level1Money, Level2Num, Level2Money, Level3Num, Level3Money,
                //  Level4Num, Level4Money, Level5Num, Level5Money, Level6Num, Level6Money);
                return(true);
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点完善抓取开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #20
0
        /// <summary>
        ///     完善主站江苏体彩7位数开奖详情信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeMainModel(ref OpenCode7DTModel model)
        {
            try
            {
                var entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                var htmlResource = NetHelper.GetUrlResponse(model.DetailUrl);
                if (htmlResource == null)
                {
                    return(false);
                }
                if (!string.IsNullOrEmpty(htmlResource))
                {
                    var doc = new HtmlDocument();
                    doc.LoadHtml(htmlResource);
                    var table = doc.DocumentNode.SelectNodes("//table");
                    if (table != null && table.Count > 1)
                    {
                        var trs = table[1].ChildNodes.Where(N => N.Name.ToLower() == "tbody").First().ChildNodes
                                  .Where(N => N.Name.ToLower() == "tr").ToList();
                        for (var i = 0; i < trs.Count; i++)
                        {
                            var tds = trs[i].ChildNodes.Where(N => N.Name.ToLower() == "td").ToList();
                            if (tds[0].InnerText == "特等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "特等奖",
                                    Total      = tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("--", "0").Replace(",", "")
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                                //Level1Num = Convert.ToInt32(tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty));
                                //Level1Money = Convert.ToDecimal(tds[2].InnerText.Replace("元", string.Empty));
                            }
                            else if (tds[0].InnerText == "一等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "一等奖",
                                    Total      = tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("--", "0").Replace(",", "")
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (tds[0].InnerText == "二等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "二等奖",
                                    Total      = tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("--", "0").Replace(",", "")
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (tds[0].InnerText == "三等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "三等奖",
                                    Total      = tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("--", "0").Replace(",", "")
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (tds[0].InnerText == "四等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "四等奖",
                                    Total      = tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("--", "0").Replace(",", "")
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                            else if (tds[0].InnerText == "五等奖")
                            {
                                var tmp = new Kaijiangitem
                                {
                                    Name       = "五等奖",
                                    Total      = tds[1].InnerText.Replace(",", string.Empty).Replace("注", string.Empty),
                                    TotalMoney =
                                        tds[2].InnerText.Replace("元", string.Empty).Replace("--", "0").Replace(",", "")
                                        .Trim()
                                };
                                entity.KaiJiangItems.Add(tmp);
                            }
                        }

                        var reg1   = new Regex(@"本省(区、市)销售额:([\s\S]*?)元");
                        var match1 = reg1.Match(htmlResource);
                        if (match1.Success)
                        {
                            //2016年182期及以前期数
                            //Sales = Convert.ToDecimal(match1.Result("$1"));
                            entity.Trje = match1.Result("$1");
                        }
                        else
                        {
                            //2016年183期及以后期数
                            reg1   = new Regex(@"本期销售金额:([\s\S]*?)元");
                            match1 = reg1.Match(htmlResource);
                            if (match1.Success)
                            {
                                entity.Trje = match1.Result("$1");
                            }
                        }

                        var ps        = table[1].ParentNode.ChildNodes.Where(N => N.Name.ToLower() == "p").ToList();
                        var potString = ps.Last().InnerHtml;
                        reg1   = new Regex(@"<br>([\s\S]*?)元");
                        match1 = reg1.Match(potString);
                        if (match1.Success)
                        {
                            var potValue = match1.Result("$1").Replace("&nbsp;", string.Empty);
                            if (potValue.Contains("<br>"))
                            {
                                // Jackpot = Convert.ToDecimal(potValue.Substring(potValue.IndexOf("<br>") + 4));
                                entity.Gdje = potValue.Substring(potValue.IndexOf("<br>") + 4);
                            }
                            else
                            {
                                // Jackpot = Convert.ToDecimal(potValue);
                                entity.Gdje = potValue;
                            }
                        }

                        model.Spare = entity.TryToJson();
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(typeof(JSTC7WSJob),
                          string.Format("【{0}】通过主站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #21
0
        /// <summary>
        ///     完善备用站点福建31选7开奖实体信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeBackModel(ref OpenCode8DTModel model)
        {
            try
            {
                var htmlResource = NetHelper.GetUrlResponse(model.DetailUrl, Encoding.GetEncoding("gb2312"));
                if (string.IsNullOrWhiteSpace(htmlResource))
                {
                    return(false);
                }
                var doc = new HtmlDocument();
                doc.LoadHtml(htmlResource);
                var table = doc.DocumentNode.SelectSingleNode("//table");
                if (table == null)
                {
                    return(false);
                }
                var             trs    = table.ChildNodes.Where(N => N.Name.ToLower() == "tr").ToList();
                List <HtmlNode> tds    = null;
                var             entity = new KaijiangDetailsEntity();
                entity.KaiJiangItems = new List <Kaijiangitem>();
                for (var i = 1; i < trs.Count; i++) //第一行为表头
                {
                    tds = trs[i].ChildNodes.Where(N => N.Name.ToLower() == "td").ToList();
                    if (tds.Count < 5)
                    {
                        continue;
                    }
                    if (tds[1].InnerText == "一等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "一等奖",
                            Total      = tds[2].InnerText.Replace("注", string.Empty),
                            TotalMoney = tds[3].InnerText
                        };
                        entity.KaiJiangItems.Add(tmp);
                        // Level1Num = Convert.ToInt32(tds[2].InnerText.Replace("注", string.Empty));
                        // Level1Money = Convert.ToDecimal(tds[3].InnerText);
                    }

                    if (tds[1].InnerText == "二等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "二等奖",
                            Total      = tds[2].InnerText.Replace("注", string.Empty),
                            TotalMoney = tds[3].InnerText
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }

                    if (tds[1].InnerText == "三等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "三等奖",
                            Total      = tds[2].InnerText.Replace("注", string.Empty),
                            TotalMoney = tds[3].InnerText
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }

                    if (tds[1].InnerText == "四等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "四等奖",
                            Total      = tds[2].InnerText.Replace("注", string.Empty),
                            TotalMoney = tds[3].InnerText
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }

                    if (tds[1].InnerText == "五等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "五等奖",
                            Total      = tds[2].InnerText.Replace("注", string.Empty),
                            TotalMoney = tds[3].InnerText
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }

                    if (tds[1].InnerText == "六等奖")
                    {
                        var tmp = new Kaijiangitem
                        {
                            Name       = "六等奖",
                            Total      = tds[2].InnerText.Replace("注", string.Empty),
                            TotalMoney = tds[3].InnerText
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                }

                var reg   = new Regex(@"本期投注总额:([\d.,]*?)元");
                var match = reg.Match(htmlResource);
                if (match.Success)
                {
                    entity.Trje = match.Result("$1").Replace(",", string.Empty);
                }
                reg   = new Regex(@"奖池资金累计金额:([\d.,]*?)元");
                match = reg.Match(htmlResource);
                if (match.Success)
                {
                    entity.Gdje = match.Result("$1").Replace(",", string.Empty);
                }
                model.Spare = model.TryToJson();
                //model.Spare = string.Format("{0},{1}^一等奖|{2}|{3},二等奖|{4}|{5},三等奖|{6}|{7},四等奖|{8}|{9},五等奖|{10}|{11},六等奖|{12}|{13}",
                //    Sales, Jackpot, Level1Num, Level1Money, Level2Num, Level2Money, Level3Num, Level3Money, Level4Num,
                //    Level4Money, Level5Num, Level5Money, Level6Num, Level6Money);
                return(true);
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过备用站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }
Пример #22
0
        /// <summary>
        ///     完善主站江苏体彩7位数开奖详情信息
        /// </summary>
        /// <param name="model"></param>
        private bool OptimizeBackModel(ref OpenCode4DTModel model)
        {
            var entity = new KaijiangDetailsEntity();

            entity.KaiJiangItems = new List <Kaijiangitem>();
            try
            {
                var url          = string.Format(@"http://www.gdfc.org.cn/{0}", model.DetailUrl);
                var htmlResource = NetHelper.GetUrlResponse(url, Encoding.GetEncoding("gb2312"));
                if (string.IsNullOrWhiteSpace(htmlResource))
                {
                    return(false);
                }
                var doc = new HtmlDocument();
                doc.LoadHtml(htmlResource);
                var opendiv           = doc.DocumentNode.SelectSingleNode("//div[@class='play_R_tbox']");
                var moneydiv          = doc.DocumentNode.SelectSingleNode("//div[@class='play_R_jbox']");
                var kaijiangitemtable = doc.DocumentNode.SelectNodes("//table"); //第二个
                if (opendiv != null)
                {
                    var opentime = opendiv.InnerText.Trim().Substring(0, 10);
                    model.OpenTime = DateTime.Parse(opentime);
                }

                if (moneydiv != null)
                {
                    var divs        = moneydiv.ChildNodes.Where(w => w.Name == "div").ToList();
                    var xiaoshoudiv = divs[0].ChildNodes.Where(w => w.Name == "span").ToList();
                    var jiangchidiv = divs[1].ChildNodes.Where(w => w.Name == "span").ToList();
                    var xiaoshoue   = xiaoshoudiv[0].InnerText.Replace("¥", "").Replace(",", "");
                    var jiangchi    = jiangchidiv[0].InnerText.Replace("¥", "").Replace(",", "");
                    entity.Trje = xiaoshoue;
                    entity.Gdje = jiangchi;
                }

                if (kaijiangitemtable != null)
                {
                    var trs = kaijiangitemtable[1].ChildNodes.Where(w => w.Name == "tr").ToList();
                    for (var i = 2; i < trs.Count; i++)
                    {
                        var tds   = trs[i].ChildNodes.Where(w => w.Name == "td").ToList();
                        var name  = tds[0].InnerText.Trim();
                        var count = tds[1].InnerText.Trim();
                        var money = tds[2].InnerText.Replace("¥", "").Trim();
                        var tmp   = new Kaijiangitem
                        {
                            Name       = name,
                            Total      = count,
                            TotalMoney = money
                        };
                        entity.KaiJiangItems.Add(tmp);
                    }
                }

                model.Spare = entity.TryToJson();
            }
            catch (Exception ex)
            {
                log.Error(GetType(),
                          string.Format("【{0}】通过主站点优化开奖列表时发生错误,错误信息【{1}】", Config.Area + currentLottery, ex.Message));
            }

            return(false);
        }