예제 #1
0
 private void GetJCLQ()
 {
     try
     {
         var      JCDate  = _SportService.GetJCLQ_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 = GetJclqList(OldDate);
             int m       = _SportService.AddCaiKeJCLQ(OldList, Convert.ToDateTime(JCDate).AddDays(i).ToString("yyyyMMdd"), Convert.ToDateTime(JCDate).AddDays(1));
             log.Info(Url_Caike + $"JCLQ更新{m}条数据");
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
예제 #2
0
        /// <summary>
        /// 竞彩篮球
        /// </summary>
        private void GetJCLQ()
        {
            try
            {
                var      JCDate  = _SportService.GetJCLQ_JCDate();
                DateTime olddate = Convert.ToDateTime(JCDate) == null || String.IsNullOrEmpty(JCDate) == true?DateTime.Now.AddMonths(-1) : Convert.ToDateTime(JCDate).AddDays(-1);

                DateTime date = DateTime.Now;
                int      ts   = Convert.ToInt32(Math.Ceiling((Convert.ToDateTime(date) - olddate).TotalDays));
                for (int h = 0; h <= ts; h++)
                {
                    try
                    {
                        //竞彩篮球单关数据
                        var tableNode = CommonHelper.LoadGziphtml("http://zx.500.com/jclq/kaijiang.php?playid=0&ggid=0&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)}竞彩篮球获取根节点失败");
                            continue;
                        }
                        //竞彩篮球过关数据
                        var GgtableNodes = CommonHelper.LoadGziphtml("http://zx.500.com/jclq/kaijiang.php?playid=0&ggid=1&d=" + olddate.AddDays(h).ToString("yyyy-MM-dd"), CollectionUrlEnum.url_500zx).DocumentNode.SelectSingleNode("//table[@class='ld_table']");
                        if (GgtableNodes == null)
                        {
                            Console.WriteLine($"奖期{olddate.AddDays(h)}竞彩篮球获取过关数据失败");
                            continue;
                        }
                        var GgtableNode = GgtableNodes.SelectNodes("tr").Skip(1);
                        //获取平均欧赔
                        var trNodess = CommonHelper.LoadGziphtml("http://zx.500.com/jclq/kaijiang.php?playid=1&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)}竞彩篮球获取平均欧赔失败");
                            continue;
                        }
                        var trNodes = trNodess.SelectNodes("tr").Skip(1);
                        var trNode  = tableNode.SelectNodes("tr").Skip(1);
                        int OpIndex = 1;
                        List <jclq_result> jclq_results = new List <jclq_result>();
                        jclq_result        jclq_result;
                        //赛果开奖情况
                        foreach (var item in trNode)
                        {
                            OpIndex++;
                            jclq_result         = new jclq_result();
                            jclq_result.MatchId = olddate.AddDays(h).ToString("yyyy-MM-dd").Replace("-", "");
                            jclq_result.JCDate  = 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;" || strText == "VS" || strText == "" || strText == "--")
                                {
                                    continue;
                                }
                                switch (tdIndex)
                                {
                                case 1:
                                    jclq_result.MatchNumber = strText;
                                    break;

                                case 2:
                                    jclq_result.League_Color = item2.Attributes["style"].Value.Replace("background-color:", "").Replace(";", "");
                                    jclq_result.LeagueName   = strText;
                                    break;

                                case 3:
                                    jclq_result.MatchDate = strText;
                                    break;

                                case 4:
                                    jclq_result.GuestTeam = strText;
                                    break;

                                case 5:
                                    jclq_result.HomeTeam = strText;
                                    break;

                                case 6:
                                    jclq_result.FullScore = strText;
                                    break;

                                case 7:
                                    jclq_result.SF_Result = strText;
                                    break;

                                case 8:
                                    jclq_result.LetBall = strText;
                                    break;

                                case 9:
                                    jclq_result.RFSF_Result = strText;

                                    break;

                                case 10:
                                    jclq_result.SFC_Result = strText;

                                    break;

                                case 11:
                                    jclq_result.YSZF = strText;
                                    break;

                                case 12:
                                    jclq_result.DXF_Result = strText;
                                    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 > 9 && i < 12)
                                    {
                                        jclq_result.AvgEu_SP += item3.SelectNodes("td")[i].InnerHtml + ",";
                                    }
                                    //if (i >= 12)
                                    //{
                                    //}
                                }
                            }
                            //过关数据
                            int Ggindex = 1;
                            foreach (var item4 in GgtableNode)
                            {
                                Ggindex++;
                                if (Ggindex != OpIndex)
                                {
                                    continue;
                                }
                                for (int i = 0; i < item4.SelectNodes("td").Count(); i++)
                                {
                                    if (i == 7)
                                    {
                                        jclq_result.GG_SF_Result = item4.SelectNodes("td")[i].InnerHtml;
                                    }
                                    if (i == 10)
                                    {
                                        jclq_result.GG_RFSF_Result = item4.SelectNodes("td")[i].InnerHtml;
                                    }
                                    if (i == 12)
                                    {
                                        jclq_result.GG_SFC_Result = item4.SelectNodes("td")[i].InnerHtml;
                                    }
                                    if (i == 15)
                                    {
                                        jclq_result.GG_DXF_Result = item4.SelectNodes("td")[i].InnerHtml;
                                    }
                                }
                            }
                            jclq_result.Url_Type = (int)CollectionUrlEnum.url_500zx;
                            jclq_result.AvgEu_SP = jclq_result.AvgEu_SP.Substring(0, jclq_result.AvgEu_SP.Length - 1);
                            jclq_results.Add(jclq_result);
                        }
                        _SportService.Add_JCLQ(jclq_results);
                        Console.WriteLine("采集篮球" + olddate.AddDays(h).ToString("yyyy-MM-dd") + "采集完成,共" + jclq_results.Count + "条");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("采集篮球出错:" + ex.Message);
                        log.Error("采集篮球出错:" + ex.Message);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("采集篮球出错:" + ex.Message);
                log.Error(ex.Message);
            }
        }