/// <summary> /// 企业业绩 /// </summary> /// <param name="info"></param> /// <param name="html"></param> protected void AddCorpResults(CorpInfo info, string html) { Parser parser = new Parser(new Lexer(html)); NodeList nodeList = parser.ExtractAllNodesThatMatch(new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("id", "yjxx"))); if (nodeList != null && nodeList.Count > 0) { parser = new Parser(new Lexer(nodeList.ToHtml().Replace("th", "td"))); NodeList tableNode = parser.ExtractAllNodesThatMatch(new TagNameFilter("table")); if (tableNode != null && tableNode.Count > 0) { TableTag table = tableNode[0] as TableTag; for (int i = 1; i < table.RowCount; i++) { TableRow tr = table.Rows[i]; if (tr.Columns[0].ToPlainTextString().Contains("没有显示结果")) { break; } string PrjName = string.Empty, PrjCode = string.Empty, BuildUnit = string.Empty, GrantDate = string.Empty, PrjAddress = string.Empty, ChargeDept = string.Empty, PrjClassLevel = string.Empty, PrjClass = string.Empty, BuildArea = string.Empty, InviteArea = string.Empty, ProspUnit = string.Empty, DesignUnit = string.Empty, SuperUnit = string.Empty, ConstUnit = string.Empty, PrjStartDate = string.Empty, PrjEndDate = string.Empty; PrjName = tr.Columns[2].ToNodePlainString(); PrjCode = tr.Columns[1].ToNodePlainString(); BuildUnit = tr.Columns[3].ToNodePlainString(); GrantDate = tr.Columns[4].ToPlainTextString().GetDateRegex(); CorpResults result = ToolDb.GenCorpResults(info.Id, PrjName, PrjCode, BuildUnit, GrantDate, PrjAddress, ChargeDept, PrjClassLevel, PrjClass, BuildArea, InviteArea, ProspUnit, DesignUnit, SuperUnit, ConstUnit, PrjStartDate, PrjEndDate, info.Url); ToolDb.SaveEntity(result, string.Empty); } } } }
/// <summary> /// 保存企业业绩 /// </summary> /// <param name="table"></param> /// <param name="id"></param> /// <param name="url"></param> private void AddCorpResults(TableTag table, string id, string url) { for (int i = 1; i < table.RowCount; i++) { string PrjName = string.Empty, PrjCode = string.Empty, BuildUnit = string.Empty, GrantDate = string.Empty, PrjAddress = string.Empty, ChargeDept = string.Empty, PrjClassLevel = string.Empty, PrjClass = string.Empty, BuildArea = string.Empty, InviteArea = string.Empty, ProspUnit = string.Empty, DesignUnit = string.Empty, SuperUnit = string.Empty, ConstUnit = string.Empty, PrjStartDate = string.Empty, PrjEndDate = string.Empty; TableRow tr = table.Rows[i]; PrjName = tr.Columns[1].ToNodePlainString(); GrantDate = tr.Columns[2].ToPlainTextString().GetDateRegex(); PrjStartDate = tr.Columns[5].ToPlainTextString().Replace(" ", ""); if (string.IsNullOrEmpty(PrjName) && string.IsNullOrEmpty(GrantDate) && string.IsNullOrEmpty(PrjStartDate)) { continue; } CorpResults result = ToolDb.GenCorpResults(id, PrjName, PrjCode, BuildUnit, GrantDate, PrjAddress, ChargeDept, PrjClassLevel, PrjClass, BuildArea, InviteArea, ProspUnit, DesignUnit, SuperUnit, ConstUnit, PrjStartDate, PrjEndDate, url); ToolDb.SaveEntity(result, string.Empty); } }
protected void AddCorpResults(CorpInfo info, string infoUrl) { string htmldtl = string.Empty; try { htmldtl = ToolWeb.GetHtmlByUrl(infoUrl); } catch { } Parser parser = new Parser(new Lexer(htmldtl)); NodeList nodeList = parser.ExtractAllNodesThatMatch(new TagNameFilter("table")); if (nodeList != null && nodeList.Count > 0) { TableTag table = nodeList[0] as TableTag; for (int i = 1; i < table.RowCount; i++) { if (table.Rows[i].ColumnCount <= 1) { break; } string PrjName = string.Empty, PrjCode = string.Empty, BuildUnit = string.Empty, GrantDate = string.Empty, PrjAddress = string.Empty, ChargeDept = string.Empty, PrjClassLevel = string.Empty, PrjClass = string.Empty, BuildArea = string.Empty, InviteArea = string.Empty, ProspUnit = string.Empty, DesignUnit = string.Empty, SuperUnit = string.Empty, ConstUnit = string.Empty, PrjStartDate = string.Empty, PrjEndDate = string.Empty; TableRow tr = table.Rows[i]; PrjCode = tr.Columns[1].ToNodePlainString(); PrjName = tr.Columns[2].ToNodePlainString(); PrjAddress = tr.Columns[3].ToNodePlainString(); PrjClass = tr.Columns[4].ToNodePlainString(); BuildUnit = tr.Columns[5].ToNodePlainString(); CorpResults result = ToolDb.GenCorpResults(info.Id, PrjName, PrjCode, BuildUnit, GrantDate, PrjAddress, ChargeDept, PrjClassLevel, PrjClass, BuildArea, InviteArea, ProspUnit, DesignUnit, SuperUnit, ConstUnit, PrjStartDate, PrjEndDate, info.Url); ToolDb.SaveEntity(result, string.Empty); } } }
/// <summary> /// 企业业绩 /// </summary> /// <param name="info"></param> /// <param name="html"></param> protected void AddCorpResults(CorpInfo info, string param, string corpType) { string url = "http://portal.szjs.gov.cn:8888/publicShow/queryPerformance.html"; string[] postParams = new string[] { "param", "corpType", "orgCode", "page" }; string[] postValues = new string[] { param, corpType, info.CorpCode, "1" }; NameValueCollection nvc = ToolWeb.GetNameValueCollection(postParams, postValues); string html = string.Empty; try { html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8); } catch { Thread.Sleep(12 * 60 * 1000); try { html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8); } catch { Thread.Sleep(8 * 60 * 1000); return; } } JavaScriptSerializer java = new JavaScriptSerializer(); Dictionary <string, object> jsonResults = (Dictionary <string, object>)java.DeserializeObject(html); int pageInt = 1; try { pageInt = (int)jsonResults["totalPage"]; } catch { } for (int i = 1; i <= pageInt; i++) { if (i > 1) { postValues = new string[] { param, corpType, info.CorpCode, i.ToString() }; nvc = ToolWeb.GetNameValueCollection(postParams, postValues); try { html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8); } catch { Thread.Sleep(12 * 60 * 1000); try { html = ToolWeb.GetHtmlByUrl(url, nvc, Encoding.UTF8); } catch { Thread.Sleep(8 * 60 * 1000); continue; } } jsonResults = (Dictionary <string, object>)java.DeserializeObject(html); } object[] dicRecords = (object[])jsonResults["records"]; foreach (object dicRecord in dicRecords) { string PrjName = string.Empty, PrjCode = string.Empty, BuildUnit = string.Empty, GrantDate = string.Empty, PrjAddress = string.Empty, ChargeDept = string.Empty, PrjClassLevel = string.Empty, PrjClass = string.Empty, BuildArea = string.Empty, InviteArea = string.Empty, ProspUnit = string.Empty, DesignUnit = string.Empty, SuperUnit = string.Empty, ConstUnit = string.Empty, PrjStartDate = string.Empty, PrjEndDate = string.Empty; PrjName = "业绩"; PrjCode = "业绩"; BuildUnit = "业绩"; GrantDate = DateTime.Today.ToString(); CorpResults result = ToolDb.GenCorpResults(info.Id, PrjName, PrjCode, BuildUnit, GrantDate, PrjAddress, ChargeDept, PrjClassLevel, PrjClass, BuildArea, InviteArea, ProspUnit, DesignUnit, SuperUnit, ConstUnit, PrjStartDate, PrjEndDate, info.Url); ToolDb.SaveEntity(result, string.Empty); } } }