From b20a34e8277267124f9708c2c97e92ed1052fa08 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期六, 12 十一月 2022 14:43:48 +0800 Subject: [PATCH] 自动抓取中标项目 --- zhengcaioa/Crawler/sichuan/sichuanoperation.cs | 301 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 237 insertions(+), 64 deletions(-) diff --git a/zhengcaioa/Crawler/sichuan/sichuanoperation.cs b/zhengcaioa/Crawler/sichuan/sichuanoperation.cs index b8008f6..5ce1381 100644 --- a/zhengcaioa/Crawler/sichuan/sichuanoperation.cs +++ b/zhengcaioa/Crawler/sichuan/sichuanoperation.cs @@ -1,22 +1,26 @@ -锘縰sing Newtonsoft.Json; +锘縰sing AngleSharp.Html.Parser; +using DTO; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Text; +using System.Threading; using zhengcaioa.Models; namespace Crawler.sichuan { public class sichuanoperation { - public static void operations(WebCrawlerContext _ccontext) + + public static string sichuanpageurll = "https://zfcg.scsczt.cn"; + public static void operations(WebCrawlerContext _ccontext, zhengcaioaContext _ccontext1) { try { - string api_domain = "http://192.168.0.116:9200"; - string pageurll = "https://zfcg.scsczt.cn"; + //鑾峰彇鏇存柊鏃堕棿 string operationStartTime = ""; Updatetime updatetime = _ccontext.Updatetimes.Where(x=>x.Sheng=="鍥涘窛鐪�").FirstOrDefault(); @@ -40,9 +44,10 @@ int currPage = 1; int pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { + logg.WriteLog(currPage.ToString(), "鍥涘窛"); string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=00101®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea="; using (HttpClient client = new HttpClient()) { @@ -57,7 +62,8 @@ { foreach (var sichuanjieshoudtl in sichuan.data) { - ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.OpenTenderCode == sichuanjieshoudtl.openTenderCode && x.Gglx == "02" && x.NoticeTime == sichuanjieshoudtl.noticeTime).FirstOrDefault(); + var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl; + ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault(); if (zhengfuProject == null) { zhengfuProject = new ZhengfuProject(); @@ -193,34 +199,38 @@ cgfsName = "鍏紑鎷涙爣"; break; case "2": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "2"; cgfsName = "閭�璇锋嫑鏍�"; break; case "3": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "5"; cgfsName = "绔炰簤鎬ц皥鍒�"; break; case "4": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "4"; cgfsName = "璇环"; break; case "5": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "7"; cgfsName = "鍗曚竴鏉ユ簮"; break; case "6": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "3"; cgfsName = "绔炰簤鎬х鍟�"; break; case "9": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; + default: + zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle; - zhengfuProject.Pageurl = pageurll + sichuanjieshoudtl.pageurl; + zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl; zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser; if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget)) @@ -238,7 +248,7 @@ _ccontext.ZhengfuProjects.Add(zhengfuProject); - string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id; + string url = $"{Program.api_domain}/webcrawler/_doc/" + zhengfuProject.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); @@ -307,19 +317,21 @@ { currPage += 1; } + Thread.CurrentThread.Join(1000 * 2);//闃绘璁惧畾鏃堕棿 } } - logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 鑾峰彇瀹屾垚","鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { + logg.WriteLog(currPage.ToString(), "鍥涘窛"); string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=00102®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea="; using (HttpClient client = new HttpClient()) { @@ -334,7 +346,8 @@ { foreach (var sichuanjieshoudtl in sichuan.data) { - ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.OpenTenderCode == sichuanjieshoudtl.openTenderCode && x.Gglx == "03" && x.NoticeTime == sichuanjieshoudtl.noticeTime).FirstOrDefault(); + var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl; + ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault(); if (zhengfuProject == null) { zhengfuProject = new ZhengfuProject(); @@ -412,7 +425,7 @@ } else if (sichuanjieshoudtl.regionCode.StartsWith("5114")) { - zhengfuProject.City = "5114"; + zhengfuProject.City = "511400"; CityName = "鐪夊北甯�"; } else if (sichuanjieshoudtl.regionCode.StartsWith("5115")) @@ -463,41 +476,54 @@ string cgfsName = ""; + string BieCgfs = ""; switch (sichuanjieshoudtl.purchaseManner) { case "1": zhengfuProject.Cgfs = "1"; cgfsName = "鍏紑鎷涙爣"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c11"; break; case "2": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "2"; cgfsName = "閭�璇锋嫑鏍�"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c12"; break; case "3": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "5"; cgfsName = "绔炰簤鎬ц皥鍒�"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c14"; break; case "4": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "4"; cgfsName = "璇环"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c15"; break; case "5": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "7"; cgfsName = "鍗曚竴鏉ユ簮"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c16"; break; case "6": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "3"; cgfsName = "绔炰簤鎬х鍟�"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c13"; break; case "9": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; + BieCgfs = ""; + break; + default: + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + BieCgfs = ""; break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle; - zhengfuProject.Pageurl = pageurll + sichuanjieshoudtl.pageurl; + zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl; zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser; if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget)) @@ -515,7 +541,132 @@ _ccontext.ZhengfuProjects.Add(zhengfuProject); - string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id; + Project project = new Project(); + project.Id = zhengfuProject.Id; + project.StartTime = zhengfuProject.NoticeTime; + project.Sheng = zhengfuProject.Sheng; + project.City = zhengfuProject.City; + if(project.City== "510001") + { + project.AreaId = "510002"; + } + else + { + project.AreaId = zhengfuProject.RegionCode; + } + + project.Cgfs = BieCgfs; + project.Number = zhengfuProject.OpenTenderCode; + project.Name = zhengfuProject.Title; + + if (zhengfuProject.Budget.HasValue) + { + project.Caigouyusuan = zhengfuProject.Budget.Value / new decimal(10000); + } + project.Question = zhengfuProject.Pageurl; + var parser = new HtmlParser(); + var document = parser.ParseDocument(zhengfuProject.Content); + var contentList = document.All.Where(m => m.Id == "noticeArea"); + var cDocumet = contentList.First(); + var Numberss = cDocumet.QuerySelectorAll("p"); + foreach (var Number in Numberss) + { + + if (Number != null && Number.TextContent.Contains("搴熸爣鐞嗙敱")) + { + var Fbyy = Number.QuerySelector("span"); + project.Fbyy = Fbyy.TextContent.Trim(); + } + } + var Caigourennames = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticePurchase-purchaserOrgName"); + if (Caigourennames != null && Caigourennames.ToList().Count > 0) + { + var Caigourenname = Caigourennames.First(); + project.Caigourenname = Caigourenname.TextContent; + } + var Caigourenaddresss = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticePurchase-purchaserOrgAddress"); + if (Caigourenaddresss != null && Caigourenaddresss.ToList().Count > 0) + { + var Caigourenaddress = Caigourenaddresss.First(); + project.Caigourenaddress = Caigourenaddress.TextContent; + } + var Caigourencontacts = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticePurchase-purchaserLinkTel"); + if (Caigourencontacts != null && Caigourencontacts.ToList().Count > 0) + { + var Caigourencontact = Caigourencontacts.First(); + project.Caigourencontact = Caigourencontact.TextContent; + } + var Dailinames = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticeAgency-agencyName"); + if (Dailinames != null && Dailinames.ToList().Count > 0) + { + var Dailiname = Dailinames.First(); + project.Dailiname = Dailiname.TextContent; + } + var Dailiaddresss = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticeAgency-agentAddress"); + if (Dailiaddresss != null && Dailiaddresss.ToList().Count > 0) + { + var Dailiaddress = Dailiaddresss.First(); + project.Dailiaddress = Dailiaddress.TextContent; + } + var Dailicontacts = cDocumet.QuerySelectorAll("span").Where(m => m.Id == "_notice_content_noticeAgency-agentLinkTel"); + if (Dailicontacts != null && Dailicontacts.ToList().Count > 0) + { + var Dailicontact = Dailicontacts.First(); + project.Dailicontact = Dailicontact.TextContent; + } + + + + var zhuanjias = cDocumet.QuerySelectorAll("div").Where(m => m.ClassName == "noticeBidResult-noticeBidResult _notice_content_noticeBidResult-noticeBidResult expert dynamic-form-editor"); + if (zhuanjias != null && zhuanjias.ToList().Count > 0) + { + var zhuanjia = zhuanjias.First(); + + project.Zhuanjia = zhuanjia.TextContent.Trim();//OuterHtml + } + project.Creater = "111"; + project.Createtime = zhengfuProject.Createtime; + project.Modifier = project.Creater; + project.Modifytime = project.Createtime; + project.RecStatus = "A"; + + _ccontext1.Projects.Add(project); + + var table1 = cDocumet.QuerySelectorAll("div").Where(m => m.Id == "_notice_content_noticeBidResult-noticeBidResult"); + + if (table1 != null && table1.ToList().Count > 0) + { + var table = table1.First().QuerySelectorAll("table"); + if (table != null && table.ToList().Count > 0) + { + for (int i = 0; i < table.Length; i++) + { + var td = table[i].QuerySelectorAll("td"); + if (td.Length >= 3) + { + + var projectzhongbiao = new Projectzhongbiao(); + projectzhongbiao.ZhongbiaoId = Guid.NewGuid().ToString(); + projectzhongbiao.ProjectId = project.Id; + projectzhongbiao.Names = td[0].TextContent.Trim(); + projectzhongbiao.Price = td[2].TextContent.Trim(); + _ccontext1.Projectzhongbiaos.Add(projectzhongbiao); + } + } + } + + } + + + + + + + + + + + string url = $"{Program.api_domain}/webcrawler/_doc/" + zhengfuProject.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); @@ -568,7 +719,7 @@ { throw new Exception("淇濆瓨鏁版嵁搴撳嚭閿欙紒"); } - + _ccontext1.SaveChanges(); _ccontext.SaveChanges(); } @@ -584,19 +735,21 @@ { currPage += 1; } + Thread.CurrentThread.Join(1000 * 2);//闃绘璁惧畾鏃堕棿 } } - logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 鑾峰彇瀹屾垚", "鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { + logg.WriteLog(currPage.ToString(), "鍥涘窛"); string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=00103®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea="; using (HttpClient client = new HttpClient()) { @@ -611,7 +764,8 @@ { foreach (var sichuanjieshoudtl in sichuan.data) { - ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.OpenTenderCode == sichuanjieshoudtl.openTenderCode && x.Gglx == "04" && x.NoticeTime == sichuanjieshoudtl.noticeTime).FirstOrDefault(); + var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl; + ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault(); if (zhengfuProject == null) { zhengfuProject = new ZhengfuProject(); @@ -747,34 +901,38 @@ cgfsName = "鍏紑鎷涙爣"; break; case "2": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "2"; cgfsName = "閭�璇锋嫑鏍�"; break; case "3": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "5"; cgfsName = "绔炰簤鎬ц皥鍒�"; break; case "4": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "4"; cgfsName = "璇环"; break; case "5": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "7"; cgfsName = "鍗曚竴鏉ユ簮"; break; case "6": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "3"; cgfsName = "绔炰簤鎬х鍟�"; break; case "9": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; + default: + zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle; - zhengfuProject.Pageurl = pageurll + sichuanjieshoudtl.pageurl; + zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl; zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser; if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget)) @@ -792,7 +950,7 @@ _ccontext.ZhengfuProjects.Add(zhengfuProject); - string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id; + string url = $"{Program.api_domain}/webcrawler/_doc/" + zhengfuProject.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); @@ -861,20 +1019,22 @@ { currPage += 1; } + Thread.CurrentThread.Join(1000 * 2);//闃绘璁惧畾鏃堕棿 } } - logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 鑾峰彇瀹屾垚", "鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { + logg.WriteLog(currPage.ToString(), "鍥涘窛"); string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage=" + currPage + "&pageSize=" + pageSize + "¬iceType=001004,001006®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime=" + operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea="; using (HttpClient client = new HttpClient()) { @@ -889,7 +1049,8 @@ { foreach (var sichuanjieshoudtl in sichuan.data) { - ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.OpenTenderCode == sichuanjieshoudtl.openTenderCode && x.Gglx == "11" && x.NoticeTime == sichuanjieshoudtl.noticeTime).FirstOrDefault(); + var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl; + ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault(); if (zhengfuProject == null) { zhengfuProject = new ZhengfuProject(); @@ -1025,34 +1186,38 @@ cgfsName = "鍏紑鎷涙爣"; break; case "2": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "2"; cgfsName = "閭�璇锋嫑鏍�"; break; case "3": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "5"; cgfsName = "绔炰簤鎬ц皥鍒�"; break; case "4": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "4"; cgfsName = "璇环"; break; case "5": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "7"; cgfsName = "鍗曚竴鏉ユ簮"; break; case "6": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "3"; cgfsName = "绔炰簤鎬х鍟�"; break; case "9": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; + default: + zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle; - zhengfuProject.Pageurl = pageurll + sichuanjieshoudtl.pageurl; + zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl; zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser; if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget)) @@ -1070,7 +1235,7 @@ _ccontext.ZhengfuProjects.Add(zhengfuProject); - string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id; + string url = $"{Program.api_domain}/webcrawler/_doc/" + zhengfuProject.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); @@ -1139,19 +1304,21 @@ { currPage += 1; } + Thread.CurrentThread.Join(1000 * 2);//闃绘璁惧畾鏃堕棿 } } - logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 鑾峰彇瀹屾垚", "鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { + logg.WriteLog(currPage.ToString(), "鍥涘窛"); string address = "https://zfcg.scsczt.cn/freecms/rest/v1/notice/selectInfoMoreChannel.do?&siteId=94c965cc-c55d-4f92-8469-d5875c68bd04&channel=c5bff13f-21ca-4dac-b158-cb40accd3035&currPage="+ currPage + "&pageSize="+ pageSize + "¬iceType=59®ionCode=&purchaseManner=&title=&openTenderCode=&purchaser=&agency=&purchaseNature=&operationStartTime="+ operationStartTime + "&operationEndTime=&selectTimeName=noticeTime&cityOrArea="; using (HttpClient client = new HttpClient()) { @@ -1166,7 +1333,8 @@ { foreach (var sichuanjieshoudtl in sichuan.data) { - ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.OpenTenderCode == sichuanjieshoudtl.openTenderCode && x.Gglx == "01" && x.NoticeTime == sichuanjieshoudtl.noticeTime).FirstOrDefault(); + var pageurl1 = sichuanpageurll + sichuanjieshoudtl.pageurl; + ZhengfuProject zhengfuProject = _ccontext.ZhengfuProjects.Where(x => x.Pageurl == pageurl1).FirstOrDefault(); if (zhengfuProject == null) { zhengfuProject = new ZhengfuProject(); @@ -1302,34 +1470,38 @@ cgfsName = "鍏紑鎷涙爣"; break; case "2": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "2"; cgfsName = "閭�璇锋嫑鏍�"; break; case "3": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "5"; cgfsName = "绔炰簤鎬ц皥鍒�"; break; case "4": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "4"; cgfsName = "璇环"; break; case "5": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "7"; cgfsName = "鍗曚竴鏉ユ簮"; break; case "6": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "3"; cgfsName = "绔炰簤鎬х鍟�"; break; case "9": - zhengfuProject.Cgfs = "1"; + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; + default: + zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; zhengfuProject.Shorttitle = sichuanjieshoudtl.shorttitle; - zhengfuProject.Pageurl = pageurll + sichuanjieshoudtl.pageurl; + zhengfuProject.Pageurl = sichuanpageurll + sichuanjieshoudtl.pageurl; zhengfuProject.Purchaser = sichuanjieshoudtl.purchaser; if (!string.IsNullOrWhiteSpace(sichuanjieshoudtl.budget)) @@ -1347,7 +1519,7 @@ _ccontext.ZhengfuProjects.Add(zhengfuProject); - string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id; + string url = $"{Program.api_domain}/webcrawler/_doc/" + zhengfuProject.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); @@ -1416,11 +1588,12 @@ { currPage += 1; } + Thread.CurrentThread.Join(1000 * 2);//闃绘璁惧畾鏃堕棿 } } - logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 鑾峰彇瀹屾垚", "鍥涘窛"); //淇濆瓨鏈�鍚庢洿鏂版椂闂� if (updatetime != null) @@ -1440,11 +1613,11 @@ } catch (Exception ex) { - logg.WriteLog(ex.Message); + logg.WriteLog(ex.Message, "鍥涘窛"); - logg.WriteLog(ex.StackTrace); + logg.WriteLog(ex.StackTrace, "鍥涘窛"); - logg.WriteLog(ex.ToString()); + logg.WriteLog(ex.ToString(), "鍥涘窛"); } finally { -- Gitblit v1.9.1