Exemplo n.º 1
0
        /// <summary>
        /// 竞彩篮球赛果开奖
        /// </summary>
        /// <returns></returns>
        public List <jclq_result> GetJclq()
        {
            string date = DateTime.Now.AddDays(-2).ToString("yyyy-MM-dd");
            //竞彩篮球单关数据
            var tableNode = CommonHelper.LoadGziphtml("http://zx.500.com/jclq/kaijiang.php??playid=0&ggid=0&d=" + date).DocumentNode.SelectSingleNode("//table[@class='ld_table']");
            //竞彩篮球过关数据
            var GgtableNode = CommonHelper.LoadGziphtml("http://zx.500.com/jclq/kaijiang.php??playid=0&ggid=1&d=" + date).DocumentNode.SelectSingleNode("//table[@class='ld_table']").SelectNodes("tr").Skip(1);
            //获取平均欧赔
            var trNodes = CommonHelper.LoadGziphtml("http://zx.500.com/jclq/kaijiang.php?playid=1&d=" + date).DocumentNode.SelectSingleNode("//table[@class='ld_table']").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();
                //单关数据
                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:", "");
                        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)
                        {
                            break;
                        }
                    }
                    break;
                }
                //过关数据
                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 == 12)
                        {
                            jclq_result.GG_DXF_Result = item4.SelectNodes("td")[i].InnerHtml;
                        }
                    }
                    break;
                }


                jclq_result.AvgEu_SP = jclq_result.AvgEu_SP.Substring(0, jclq_result.AvgEu_SP.Length - 1);
                jclq_results.Add(jclq_result);
            }


            return(jclq_results);
        }
Exemplo n.º 2
0
 public int AddCaiKeJCLQ(Caike_Body caike_Body, string matchDateCode, DateTime dateTime)
 {
     try
     {
         int m = 0;
         caike_Body.records.ForEach((record) =>
         {
             jclq_result _Result = new jclq_result
             {
                 MatchId     = matchDateCode + record.matchNo,
                 MatchDate   = "",
                 MatchNumber = record.matchNo,
                 HomeTeam    = record.homeTeam,
                 GuestTeam   = record.guestTeam,
                 LeagueName  = record.leagueName,
                 FullScore   = record.scoreText.Substring(record.scoreText.IndexOf(">") + 1, record.scoreText.Substring(record.scoreText.IndexOf(">") + 1).IndexOf("<")).Replace("-", ":"),
                 AvgEu_SP    = "123456",
                 JCDate      = dateTime.ToString("yyyy-MM-dd"),
                 CreateTime  = DateTime.Now,
                 Url_Type    = (int)CollectionUrlEnum.url_caike
             };
             int i = 0;
             record.details.ForEach((detail) =>
             {
                 if (detail.name != "" && detail.name != "-" && detail.value != "" && detail.value != "-")
                 {
                     if (i == 0)
                     {
                         _Result.SF_Result = detail.name;
                         i++;
                     }
                     else if (i == 1)
                     {
                         _Result.RFSF_Result = detail.name.Substring(0, detail.name.IndexOf("(") - 1);
                         _Result.LetBall     = detail.name.Substring(detail.name.IndexOf("(") + 1, detail.name.IndexOf(")") - detail.name.IndexOf("(") - 1);
                         i++;
                     }
                     else if (i == 2)
                     {
                         var SFC                = detail.name.Replace("胜", "").Replace("负", "");
                         _Result.SFC_Result     = _Result.RFSF_Result + SFC;
                         _Result.GG_SFC_Result  = _Result.RFSF_Result + SFC;
                         _Result.GG_RFSF_Result = "让分" + _Result.RFSF_Result;
                         i++;
                     }
                     else if (i == 3)
                     {
                         _Result.YSZF          = detail.name.Substring(detail.name.IndexOf("(") + 1, detail.name.IndexOf(")") - detail.name.IndexOf("(") - 1);
                         _Result.DXF_Result    = detail.name.Split("(")[0];
                         _Result.GG_DXF_Result = detail.name.Split("(")[0] + "分";
                         i++;
                     }
                 }
             });
             var Model = db.Queryable <jclq_result>().Where(x => x.MatchId == _Result.MatchId).First();
             if (Model == null)
             {
                 db.Insertable(_Result).ExecuteCommand();
                 m++;
             }
         });
         return(m);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Exemplo n.º 3
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);
            }
        }