From e1064dd08bba4326d19c81a0b9f4da18c2fa462d Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 24 十一月 2022 13:22:42 +0800 Subject: [PATCH] 废标公告写入oa --- zhengcaioa/Crawler/sichuan/sichuanoperation.cs | 269 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 240 insertions(+), 29 deletions(-) diff --git a/zhengcaioa/Crawler/sichuan/sichuanoperation.cs b/zhengcaioa/Crawler/sichuan/sichuanoperation.cs index 7fa8cbe..55148bb 100644 --- a/zhengcaioa/Crawler/sichuan/sichuanoperation.cs +++ b/zhengcaioa/Crawler/sichuan/sichuanoperation.cs @@ -1,4 +1,6 @@ -锘縰sing Newtonsoft.Json; +锘縰sing AngleSharp.Html.Parser; +using DTO; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -12,10 +14,9 @@ { public class sichuanoperation { - public static string api_domain = "http://192.168.0.116:9200"; - //public static string api_domain = "http://localhost:9200"; + public static string sichuanpageurll = "https://zfcg.scsczt.cn"; - public static void operations(WebCrawlerContext _ccontext) + public static void operations(WebCrawlerContext _ccontext, zhengcaioaContext _ccontext1) { try { @@ -43,10 +44,10 @@ int currPage = 1; int pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { - logg.WriteLog(currPage.ToString()); + 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()) { @@ -221,6 +222,10 @@ zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; + default: + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; @@ -243,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(); @@ -317,16 +322,16 @@ } - logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪侀噰璐叕鍛� 鑾峰彇瀹屾垚","鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { - logg.WriteLog(currPage.ToString()); + 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()) { @@ -420,7 +425,7 @@ } else if (sichuanjieshoudtl.regionCode.StartsWith("5114")) { - zhengfuProject.City = "5114"; + zhengfuProject.City = "511400"; CityName = "鐪夊北甯�"; } else if (sichuanjieshoudtl.regionCode.StartsWith("5115")) @@ -471,35 +476,48 @@ string cgfsName = ""; + string BieCgfs = ""; switch (sichuanjieshoudtl.purchaseManner) { case "1": zhengfuProject.Cgfs = "1"; cgfsName = "鍏紑鎷涙爣"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c11"; break; case "2": zhengfuProject.Cgfs = "2"; cgfsName = "閭�璇锋嫑鏍�"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c12"; break; case "3": zhengfuProject.Cgfs = "5"; cgfsName = "绔炰簤鎬ц皥鍒�"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c14"; break; case "4": zhengfuProject.Cgfs = "4"; cgfsName = "璇环"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c15"; break; case "5": zhengfuProject.Cgfs = "7"; cgfsName = "鍗曚竴鏉ユ簮"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c16"; break; case "6": zhengfuProject.Cgfs = "3"; cgfsName = "绔炰簤鎬х鍟�"; + BieCgfs = "e4c93811-b9b1-4998-89f5-c416ebab0c13"; break; case "9": zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; + BieCgfs = ""; + break; + default: + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + BieCgfs = ""; break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; @@ -523,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(); @@ -576,7 +719,7 @@ { throw new Exception("淇濆瓨鏁版嵁搴撳嚭閿欙紒"); } - + _ccontext1.SaveChanges(); _ccontext.SaveChanges(); } @@ -597,16 +740,16 @@ } - logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佷腑鏍囧叕鍛� 鑾峰彇瀹屾垚", "鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { - logg.WriteLog(currPage.ToString()); + 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()) { @@ -781,6 +924,10 @@ zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; + default: + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; @@ -803,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(); @@ -877,17 +1024,17 @@ } - logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佹洿姝e叕鍛� 鑾峰彇瀹屾垚", "鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { - logg.WriteLog(currPage.ToString()); + 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()) { @@ -1062,6 +1209,10 @@ zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; + default: + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; @@ -1084,7 +1235,63 @@ _ccontext.ZhengfuProjects.Add(zhengfuProject); - string url = $"{api_domain}/webcrawler/_doc/" + zhengfuProject.Id; + var projects = _ccontext1.Projects.Where(x => x.RecStatus == "A" && x.Number == zhengfuProject.OpenTenderCode && x.Fblx != null ).ToList(); + if (projects.Count > 0) + { + foreach (var project in projects) + { + project.Fblx = "鍋滄璇勫"; + } + + 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"); + foreach(var project in projects) + { + project.Fbyy = Fbyy.TextContent.Trim(); + project.Fblx = "鍋滄璇勫"; + } + + } + if (Number != null && Number.TextContent.Contains("缁堟鍘熷洜")) + { + var Fbyy = Number.QuerySelector("span"); + foreach (var project in projects) + { + project.Fbyy = Fbyy.TextContent.Trim(); + project.Fblx = "鍋滄璇勫"; + } + + } + } + var feibiaoliyous = cDocumet.QuerySelectorAll("div").Where(m => m.Id == "_notice_content_reason-reason"); + if (feibiaoliyous != null && feibiaoliyous.ToList().Count > 0) + { + var feibiaoliyou = feibiaoliyous.First(); + foreach (var project in projects) + { + project.Fbyy = feibiaoliyou.TextContent.Replace("\n", "").Replace("\t", ""); + project.Fblx = "缁堟閲囪喘"; + } + } + + _ccontext1.SaveChanges(); + } + + + + + + + string url = $"{Program.api_domain}/webcrawler/_doc/" + zhengfuProject.Id; string result = string.Empty; Uri postUrl = new Uri(url); eswebcrawler eswebcrawler1 = new eswebcrawler(); @@ -1158,16 +1365,16 @@ } - logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佸簾鏍囧叕鍛� 鑾峰彇瀹屾垚", "鍥涘窛"); //缈婚〉淇℃伅 currPage = 1; pageSize = 10; //寮�濮嬭闂� 閲囪喘鍏憡 - logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 寮�濮嬭幏鍙�"); + logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 寮�濮嬭幏鍙�", "鍥涘窛"); while (true) { - logg.WriteLog(currPage.ToString()); + 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()) { @@ -1342,6 +1549,10 @@ zhengfuProject.Cgfs = "10"; cgfsName = "鍏朵粬"; break; + default: + zhengfuProject.Cgfs = "10"; + cgfsName = "鍏朵粬"; + break; } zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode; zhengfuProject.Title = sichuanjieshoudtl.title; @@ -1364,7 +1575,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(); @@ -1438,7 +1649,7 @@ } - logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 鑾峰彇瀹屾垚"); + logg.WriteLog("鍥涘窛鐪佹剰鍚戝叕寮� 鑾峰彇瀹屾垚", "鍥涘窛"); //淇濆瓨鏈�鍚庢洿鏂版椂闂� if (updatetime != null) @@ -1458,11 +1669,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