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