Exemplo n.º 1
0
 private void GetJCZQ()
 {
     try
     {
         var      JCDate  = _SportService.GetJCZQ_JCDate();
         var      OldDate = Convert.ToDateTime(JCDate).AddDays(-1).ToString("yyyyMMdd");
         TimeSpan ts      = DateTime.Now - Convert.ToDateTime(JCDate).AddDays(-1);
         for (int i = 0; i < Math.Ceiling(ts.TotalDays); i++)
         {
             var OldList = GetJczqList(OldDate);
             int m       = _SportService.AddCaikeJCZQ(OldList, Convert.ToDateTime(JCDate).AddDays(i).ToString("yyyyMMdd"), Convert.ToDateTime(JCDate).AddDays(1));
             log.Info(Url_Caike + $"JCZQ更新{m}条数据");
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 竞彩足球
        /// </summary>
        private void GetJCZQ()
        {
            try
            {
                var      JCDate  = _SportService.GetJCZQ_JCDate();
                DateTime olddate = Convert.ToDateTime(JCDate) == null || String.IsNullOrEmpty(JCDate) == true?DateTime.Now.AddMonths(-1) : Convert.ToDateTime(JCDate);

                string date = DateTime.Now.ToString("yyyy-MM-dd");
                var    span = Convert.ToInt32(Math.Ceiling((Convert.ToDateTime(date) - olddate).TotalDays));
                for (int h = 0; h <= span; h++)
                {
                    try
                    {
                        var tableNode = CommonHelper.LoadGziphtml("http://zx.500.com/jczq/kaijiang.php?d=" + olddate.AddDays(h).ToString("yyyy-MM-dd"), CollectionUrlEnum.url_500zx).DocumentNode.SelectSingleNode("//table[@class='ld_table']");
                        if (tableNode == null)
                        {
                            Console.WriteLine($"奖期{olddate.AddDays(h).ToString("yyyy-MM-dd")}竞猜足球获取根节点失败");
                            continue;
                        }
                        //获取平均欧赔
                        var trNodess = CommonHelper.LoadGziphtml("http://zx.500.com/jczq/kaijiang.php?playid=4&d=" + olddate.AddDays(h).ToString("yyyy-MM-dd"), CollectionUrlEnum.url_500zx).DocumentNode.SelectSingleNode("//table[@class='ld_table']");
                        if (trNodess == null)
                        {
                            Console.WriteLine($"奖期{olddate.AddDays(h).ToString("yyyy-MM-dd")}竞猜足球获取平均欧赔失败");
                            continue;
                        }
                        var         trNodes = trNodess.SelectNodes("tr").Skip(1);
                        var         trNode  = tableNode.SelectNodes("tr").Skip(1);
                        int         OpIndex = 1;
                        List <jczq> jczqs   = new List <jczq>();
                        jczq        jczq;
                        var         game      = new GameType();
                        var         GameTypes = new List <GameType>();
                        //赛果开奖情况
                        foreach (var item in trNode)
                        {
                            OpIndex++;
                            jczq    = new jczq();
                            jczq.id = olddate.AddDays(h).ToString("yyyy-MM-dd");
                            int tdIndex = 1;
                            foreach (var item2 in item.SelectNodes("td"))
                            {
                                string strText = Regex.Replace(item2.InnerHtml, "<[^>]+>", "");//不包含>的任意字符,字符个数不限,但至少一个字符
                                if (strText == "&nbsp;")
                                {
                                    continue;
                                }
                                switch (tdIndex)
                                {
                                case 1:
                                    jczq.TournamentNumber = strText;
                                    break;

                                case 2:
                                    jczq.League_Color   = item2.SelectSingleNode("a").Attributes["style"].Value.Replace("background-color:", "");
                                    jczq.TournamentType = strText;
                                    break;

                                case 3:
                                    jczq.MatchTime = strText;
                                    break;

                                case 4:
                                    jczq.HomeTeam = strText;
                                    break;

                                case 5:
                                    jczq.LetBall = strText;
                                    break;

                                case 6:
                                    jczq.VisitingTeam = strText;
                                    break;

                                case 7:
                                    jczq.Score = strText;
                                    break;

                                case 8:
                                    GameTypes.Clear();
                                    game            = new GameType();
                                    game.game       = Game.让球胜平负;
                                    game.FruitColor = strText;

                                    break;

                                case 9:
                                    game.Bonus = strText;
                                    GameTypes.Add(game);
                                    break;

                                case 10:
                                    game            = new GameType();
                                    game.game       = Game.胜平负;
                                    game.FruitColor = strText;
                                    break;

                                case 11:
                                    game.Bonus = strText;
                                    GameTypes.Add(game);
                                    break;

                                case 12:
                                    game            = new GameType();
                                    game.game       = Game.总进球数;
                                    game.FruitColor = strText;
                                    break;

                                case 13:
                                    game.Bonus = strText;
                                    GameTypes.Add(game);
                                    break;

                                case 14:
                                    game            = new GameType();
                                    game.game       = Game.半全场;
                                    game.FruitColor = strText;
                                    break;

                                case 15:
                                    game.Bonus = strText;
                                    GameTypes.Add(game);
                                    break;
                                }
                                tdIndex = tdIndex + 1;
                            }
                            int indexop = 1;
                            foreach (var item3 in trNodes)
                            {
                                indexop++;
                                if (indexop != OpIndex)
                                {
                                    continue;
                                }
                                for (int i = 0; i < item3.SelectNodes("td").Count(); i++)
                                {
                                    if (i == 7)
                                    {
                                        game            = new GameType();
                                        game.game       = Game.比分;
                                        game.FruitColor = item3.SelectNodes("td")[i].InnerHtml;
                                    }
                                    if (i == 9)
                                    {
                                        game.Bonus = item3.SelectNodes("td")[i].InnerHtml;
                                        GameTypes.Add(game);
                                        jczq.gameTypes.AddRange(GameTypes);
                                    }

                                    if (i > 10 && i < 14)
                                    {
                                        jczq.AvgOuCompensation += item3.SelectNodes("td")[i].InnerHtml + ",";
                                    }
                                    //if (i >= 14)
                                    //{
                                    //}
                                }
                            }
                            jczq.AvgOuCompensation = jczq.AvgOuCompensation.Substring(0, jczq.AvgOuCompensation.Length - 1);
                            jczqs.Add(jczq);
                        }
                        _SportService.Add_JCZQ(jczqs);
                        Console.WriteLine("采集足球" + olddate.AddDays(h).ToString("yyyy-MM-dd") + "采集完成,共" + jczqs.Count + "条");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("采集足球出错:" + ex.Message);
                        log.Error("采集足球出错:" + ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("采集足球出错:" + ex.Message);
                log.Error(ex.Message);
            }
        }