小程序冲稳保逻辑调整
parent
644f462ba8
commit
5a3fe22deb
|
|
@ -186,11 +186,12 @@ namespace New_College.Repository
|
|||
//.WhereIF(query.Year > 0, p => p.Years == query.Year)
|
||||
.WhereIF(!string.IsNullOrEmpty(query.Location), p => p.Location == query.Location)
|
||||
//.WhereIF(!string.IsNullOrEmpty(query.BatchName), p => p.BatchName == query.BatchName)
|
||||
.WhereIF(string.IsNullOrWhiteSpace(query.Type), p => int.Parse(p._23Score) > 0 && (int.Parse(p._23Score) <= query.Score + 15))
|
||||
.WhereIF(query.Type == "冲", p => int.Parse(p._23Score) > 0 && (int.Parse(p._23Score) <= query.Score + 15 && int.Parse(p._23Score) > query.Score + 5))
|
||||
.WhereIF(query.Type == "稳", p => int.Parse(p._23Score) > 0 && (int.Parse(p._23Score) <= query.Score + 5 && int.Parse(p._23Score) > query.Score - 15))
|
||||
.WhereIF(query.Type == "保", p => int.Parse(p._23Score) > 0 && (int.Parse(p._23Score) < query.Score - 15))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限")
|
||||
.WhereIF(string.IsNullOrWhiteSpace(query.Type), p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 60, query.Score + 15))
|
||||
// .WhereIF(string.IsNullOrWhiteSpace(query.Type), p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score, query.Score + 15))
|
||||
.WhereIF(query.Type == "冲", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score, query.Score + 15))
|
||||
.WhereIF(query.Type == "稳", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 26, query.Score - 1))
|
||||
.WhereIF(query.Type == "保", p => int.Parse(p._23Score) > 0 && SqlFunc.Between(int.Parse(p._23Score), query.Score - 60, query.Score - 26))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(query.SubjectClaim), c => SqlFunc.Contains(c._24subject, claim[0]) || SqlFunc.Contains(c._24subject, claim[1]) || SqlFunc.Contains(c._24subject, claim[2]) || c._24subject == "不限")
|
||||
.WhereIF(majornames.Any() && majornames.Count() > 0, p => SqlFunc.ContainsArray(majornames, p.MajorName))
|
||||
.ToListAsync();
|
||||
|
||||
|
|
@ -200,26 +201,26 @@ namespace New_College.Repository
|
|||
{ Id = c.Id, Logo = c.Logo, Name = c.Name }).ToList();
|
||||
var ulist = universitylist.Select(s => new UniversityEnrollmentPlanResult()
|
||||
{
|
||||
Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo,
|
||||
UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id,
|
||||
AreaName = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Province,
|
||||
UniversityCode = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).EnrollmentCode,
|
||||
Logo = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Logo : "",
|
||||
UniversityId = universitytemps.FirstOrDefault(e => e.Name == s.UniversityName) != null ? universitytemps.FirstOrDefault(e => e.Name == s.UniversityName).Id : 0,
|
||||
AreaName = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName) != null ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Province : "",
|
||||
UniversityCode = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName) != null ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).EnrollmentCode : "",
|
||||
Rank = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).UniversityRank.ToString(),
|
||||
_985 = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("985") ? "是" : "否") : "否",
|
||||
_211 = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("211") ? "是" : "否") : "否",
|
||||
_SYL = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel != null ? (recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).LnstitutionalLevel.Contains("双一流") ? "是" : "否") : "否",
|
||||
SchoolScoreline = int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScoreLine),
|
||||
SchoolLowScore = int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScore),
|
||||
SchoolScoreline = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName) != null ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScoreLine) : 0,
|
||||
SchoolLowScore = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName) != null ? int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23SchoolScore) : 0,
|
||||
Type = MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 2 ? "冲" : MajorPlanScoreTool.GetPlanScore(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score) == 1 ? "稳" : "保",//冲稳保院校
|
||||
Percentage = MajorPlanScoreTool.GetPlanPercentage(int.Parse(recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName)._23Score), (int)query.Score),
|
||||
AscriptionName = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Ownership,
|
||||
CityName = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).City,
|
||||
AscriptionName = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName) != null ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).Ownership : "",
|
||||
CityName = recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName) != null ? recommendInfo.FirstOrDefault(e => e.UniversityName == s.UniversityName).City : "",
|
||||
MjaorPlan = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Count(),
|
||||
planCount = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Sum(m => int.Parse(m._23Count)),
|
||||
PlanIds = recommendInfo.Where(e => e.UniversityName == s.UniversityName).Select(c => c.ID).ToList(),
|
||||
UniversityName = s.UniversityName,
|
||||
|
||||
}).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList();
|
||||
}).OrderByDescending(t => t.Type).OrderBy(t => t.SchoolScoreline).Skip(query.PageSize * (query.PageIndex - 1)).Take(query.PageSize).ToList();
|
||||
|
||||
return new MessageModel<PageModel<UniversityEnrollmentPlanResult>>()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
using HtmlAgilityPack;
|
||||
using OpenQA.Selenium.Chrome;
|
||||
using OpenQA.Selenium;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
|
@ -9,7 +12,7 @@ namespace New_Spider
|
|||
{
|
||||
public class HtmlAgNewsHelper
|
||||
{
|
||||
public async void HtmlCreatePageData()
|
||||
public void HtmlCreatePageData()
|
||||
{
|
||||
HtmlWeb webClient = new HtmlWeb();
|
||||
HtmlDocument doc = webClient.Load("https://www.sdzk.cn/NewsList.aspx?BCID=2");
|
||||
|
|
@ -40,5 +43,54 @@ namespace New_Spider
|
|||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void HtmlSpiderYangGuangData()
|
||||
{
|
||||
|
||||
// 初始化 Chrome 驱动
|
||||
var options = new ChromeOptions();
|
||||
// 如果需要,添加无头模式选项
|
||||
options.AddArgument("--headless");
|
||||
options.AddArgument("--no-sandbox");
|
||||
options.AddArgument("--disable-dev-shm-usage");
|
||||
String driverExecutableFileName = "chromedriver";
|
||||
String driverPath = "D:\\一草一木教育\\newgaokao\\New_Spider\\bin\\Debug\\net6.0\\";
|
||||
ChromeDriverService service = ChromeDriverService.CreateDefaultService(driverPath, driverExecutableFileName);
|
||||
var driver = new ChromeDriver(service, options);
|
||||
|
||||
// 导航到目标网页
|
||||
driver.Navigate().GoToUrl("https://gaokao.chsi.com.cn/news/zszc.do");
|
||||
|
||||
// 等待页面加载完成,包括动态内容
|
||||
Thread.Sleep(1000); // 这里使用简单的等待,更好的做法是使用 WebDriverWait
|
||||
|
||||
// 获取动态内容
|
||||
var content = driver.FindElement(By.XPath("//*[@id=\"app\"]/div[2]/div[2]"));
|
||||
|
||||
|
||||
// 也可以进一步获取子节点的子节点
|
||||
IReadOnlyCollection<IWebElement> grandChildElements = driver.FindElements(By.XPath("//*[@id=\"app\"]/div[2]/div[2]/div[*]"));
|
||||
foreach (IWebElement grandChildElement in grandChildElements)
|
||||
{
|
||||
var grandChild = grandChildElement.FindElement(By.TagName("span"));
|
||||
var grandChildText = grandChild.Text;
|
||||
var titletext= grandChildElement.FindElement(By.TagName("a")).Text;
|
||||
var aurl= grandChildElement.FindElement(By.TagName("a")).GetAttribute("href");
|
||||
Console.WriteLine($"Grandchild Element Text: {grandChildText}");
|
||||
}
|
||||
|
||||
// 关闭浏览器驱动
|
||||
driver.Quit();
|
||||
|
||||
// 打印动态内容
|
||||
Console.WriteLine(content);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
|
|
@ -9,6 +9,8 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.53" />
|
||||
<PackageReference Include="Selenium.WebDriver" Version="4.18.1" />
|
||||
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="122.0.6261.9400" />
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ using System.Text.RegularExpressions;
|
|||
//agMajorHelper.DownloadChildTypeListFile();
|
||||
HtmlAgNewsHelper agNewsHelper = new HtmlAgNewsHelper();
|
||||
|
||||
agNewsHelper.HtmlCreatePageData();
|
||||
|
||||
//agNewsHelper.HtmlCreatePageData();
|
||||
agNewsHelper.HtmlSpiderYangGuangData();
|
||||
Console.Read();
|
||||
|
||||
// See https://aka.ms/new-console-template for more information
|
||||
|
|
|
|||
Loading…
Reference in New Issue