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 | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 166 insertions(+), 11 deletions(-)
diff --git a/zhengcaioa/Crawler/sichuan/sichuanoperation.cs b/zhengcaioa/Crawler/sichuan/sichuanoperation.cs
index 66167af..5ce1381 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
{
@@ -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();
@@ -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();
}
@@ -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();
@@ -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,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();
@@ -1342,6 +1493,10 @@
zhengfuProject.Cgfs = "10";
cgfsName = "鍏朵粬";
break;
+ default:
+ zhengfuProject.Cgfs = "10";
+ cgfsName = "鍏朵粬";
+ break;
}
zhengfuProject.OpenTenderCode = sichuanjieshoudtl.openTenderCode;
zhengfuProject.Title = sichuanjieshoudtl.title;
@@ -1364,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();
--
Gitblit v1.9.1