From db227144dedfb5fb5b1e94e8c8b14eab9eb7462f Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 01 十二月 2022 13:32:50 +0800
Subject: [PATCH] 中国政采网的四川数据 发送验证码
---
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