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); } }
/// <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 == " ") { 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); } }