/// <summary>返回日志文件名</summary> /// <returns>返回日志文件名</returns> public string GetLogFileName() { string fname = ""; DateTime dqrq = DateTime.Now; string lsp = AppList.LogSavePath; string lname = DateOften.ReFDateTime("{$Year}{$Month}{$Day}{$Hour}", dqrq); int n = 1; bool isoper = true; while (isoper) { isoper = false; string nums = Often.LStrDup(n.ToString(), "0", 7); fname = ServerName + "_" + lname + nums + ".txt"; string fpath = AppList.LogSavePath + fname; if (File.Exists(fpath)) { FileInfo info = new FileInfo(fpath); if (info.Length >= 2097152) { isoper = true; } } n++; } return(fname); }
/// <summary>返回Excel文件名序号</summary> /// <returns>返回Excel文件名序号</returns> public string GetExcelNum() { string s = DateOften.ReFDateTime("{$Year}{$Month}{$Day}{$Hour}{$Minute}{$Second}", DateTime.Now) + ExcelSaveNum.ToString(); ExcelSaveNum++; return(s); }
/// <summary>根据时间返回日期</summary> /// <param name="dTime">指定日期</param> /// <param name="hour">小时数</param> /// <returns>根据时间返回日期</returns> public static DateTime GetRandomTime(DateTime dTime, int hour) { Random random = new Random(Often.Seed); int minute = random.Next(20, 59); int second = random.Next(0, 59); return(Convert.ToDateTime(DateOften.ReDateTime("{$Year}-{$Month}-{$Day} " + hour.ToString() + ":" + minute.ToString() + ":" + second.ToString(), dTime))); }
private void LoadUserList() { userdt = wapp.UserList.UsersTable; userlist.Items.Clear(); for (int i = 0; i < userdt.Rows.Count; i++) { ListViewItem itema = new ListViewItem(userdt.Rows[i]["UserName"].ToString().Trim(), 0); itema.SubItems.Add(userdt.Rows[i]["RealName"].ToString().Trim()); itema.SubItems.Add(WebOften.GetListVal(wapp.AppList.UserManageLv(), userdt.Rows[i]["ManageLv"].ToString().Trim())); itema.SubItems.Add(DateOften.ReFDateTime("{$Year}-{$Month}-{$Day} {$Hour}:{$Minute}", userdt.Rows[i]["LoginDate"].ToString().Trim())); itema.SubItems.Add(userdt.Rows[i]["LoginCount"].ToString().Trim()); itema.SubItems.Add(userdt.Rows[i]["Phones"].ToString().Trim()); userlist.Items.AddRange(new ListViewItem[] { itema }); } }
private void LoadWebSpiderList() { wsdt = wapp.WebSpiderList.WebSpiderTable; wslist.Items.Clear(); for (int i = 0; i < wsdt.Rows.Count; i++) { ListViewItem itema = new ListViewItem(wsdt.Rows[i]["OrderNum"].ToString().Trim(), 0); itema.SubItems.Add(wsdt.Rows[i]["SpiderName"].ToString().Trim()); itema.SubItems.Add(wsdt.Rows[i]["UrlList"].ToString().Trim()); itema.SubItems.Add(wsdt.Rows[i]["ExcelSavePath"].ToString().Trim()); itema.SubItems.Add(WebOften.GetListVal(wapp.AppList.IsYesNo(), wsdt.Rows[i]["IsSaveHtml"].ToString().Trim())); itema.SubItems.Add(wsdt.Rows[i]["HtmlSavePath"].ToString().Trim()); itema.SubItems.Add(DateOften.ReFDateTime("{$Year}-{$Month}-{$Day} {$Hour}:{$Minute}", wsdt.Rows[i]["GatherDate"].ToString().Trim())); itema.SubItems.Add(wsdt.Rows[i]["GatherCount"].ToString().Trim()); itema.SubItems.Add(wsdt.Rows[i]["SpiderID"].ToString().Trim()); wslist.Items.AddRange(new ListViewItem[] { itema }); } }
/// <summary>返回指定日期的数字格式</summary> /// <param name="rqs">指定日期</param> /// <returns>返回指定日期的数字格式</returns> public static int GetDateDayNum(string rqs) { return(Convert.ToInt32(DateOften.ReFDateTime("{$Year}{$Month}{$Day}", rqs))); }
/// <summary>保存并返回日志信息</summary> /// <param name="m">权重, 0:必须记录的日志,1:只有日志记录模式为完整时才会记录的日志</param> /// <param name="s">信息</param> /// <returns>保存并返回日志信息</returns> public string GetLogInfo(int m, string s) { if (m == 0 || LogSaveMode == 0) { string info = "[" + ServerName + "][" + czxh.ToString() + "] >>> " + s + "[" + DateOften.ReFDateTime("{$Year}-{$Month}-{$Day} {$Hour}:{$Minute}:{$Second}", DateTime.Now) + "]\r\n\r\n"; SaveServerLog(info); OutOperDate(); return(info); } return(""); }
/// <summary>开始采集</summary> public void StartGather() { ExcelSaveNum = 1000000; NowContLinkList.Clear(); NowUrlList.Clear(); UrlList = wapp.GatherApp.GetUrlList(gi.ws.UrlList); if (UrlList.Count == 0) { lout.OT(0, "Url列表无有效URL地址!"); } for (int i = 0; i < UrlList.Count; i++) { CentUrlList = new List <string>(); NowUrlListIndex = i; string orders = (i + 1).ToString(); string gatherurl = UrlList[NowUrlListIndex]; NowUrl = gatherurl; lout.OT(1, "第[" + orders + "]次执行采集URL[" + gatherurl + "]"); string errs = ""; ListLinkContent = wapp.GatherApp.GetHttp(det, gatherurl, gi.ws.CodingMode, ref PageEncoding, ref PageCoding, ref errs); if (errs != "") { lout.OT(1, "第[" + orders + "]次获取URL内容失败,错误信息:" + errs + "。[Url:" + gatherurl + "]"); } else { lout.OT(1, "第[" + orders + "]次获取URL内容。[" + ListLinkContent.Length.ToString() + "]"); if (gi.ws.IsNext == 1 && gi.ws.NextMode == 1 && ListLinkContent.Trim() != "") { List <string> clist = new List <string>(); #region 采集内容链接列表分页(列表分页为单页采集模式) if (gi.ws.UrlRangeRule != "") { clist = wapp.GatherApp.GetRegTxtList(wapp.GatherApp.GetRegTxtString(ListLinkContent, gi.ws.UrlRangeRule, gi.ws.UrlRangeRuleIndex).ToString(), gi.ws.UrlRule, gi.ws.UrlRuleIndex); } else { clist = wapp.GatherApp.GetRegTxtList(ListLinkContent, gi.ws.UrlRule, gi.ws.UrlRuleIndex); } for (int ii = 0; ii < clist.Count; ii++) { string clink = wapp.GatherApp.GetUrls(wapp.GatherApp.FormatUrl(gatherurl, clist[ii].ToString().Trim())); if (clink != "") { CentUrlList.Add(clink); } } #endregion } if (ListLinkContent.Trim() != "") { GatherOper(); } } } if (gi.gdt.Rows.Count >= 0) { string savefile = GetExcelSaveFileName(); lout.OT(1, "保存数据到Excel文件操作开始[文件名:" + savefile + "]..."); wapp.Excel ex = new wapp.Excel(); ex.DataTableToExcel(gi.gdt); ex.WriteFile(savefile); gi.gdt.Clear(); lout.OT(1, "保存数据到Excel文件操作结束[文件名:" + savefile + "]"); } lout.OT(1, "全部操作完毕。共采集信息[" + GatherCount.ToString() + "]次,采集内容成功[" + ContSucceedCount.ToString() + "]次,采集内容失败[" + ContKaputCount.ToString() + "]次。"); lout.OT(1, "本次采集信息耗时:[" + DateOften.DateDiff(OperStartDate, DateTime.Now, "s").ToString() + "]秒"); }