public ActionResult SingelSearch(string guid = null, string searchInfo = null) { CrawlerEntity crawlerEntity = null; if (string.IsNullOrWhiteSpace(guid) && string.IsNullOrWhiteSpace(searchInfo)) { ViewBag.Guid = Guid.NewGuid(); } else { ViewBag.Guid = guid; var count = new TargeCompanyDomain().Get(t => t.CompanyName.Equals(searchInfo))?.Count; if (count > 0) { //历史记录中已存在 } else { //上网检索 List<string> companyList = new List<string> { searchInfo }; TaskEntity model = new TaskEntity(); model.TaskType = EnumTaskType.BjCrawler; model.TaskName = $"单个任务[{DateTime.Now.ToString("G")}]"; model.Unique = Conv.ToGuid(guid); model.TaskStateDicId = 1; model.TaskNum = 1; model.CreateTime = DateTime.Now; model.IsSingelSearch = true; new TaskDomain().Add(model); new BaseData(model).InsertMetadata(companyList.ToList(), model.TaskName, model, taskEntity => { Task[] tasks = new Task[4]; for (int i = 0; i < 4; i++) { tasks[i] = new Task(() => { var bjqyxy = new Crawler.Bjqyxy.BjCrawler(taskEntity, t => t.TaskGuid.Equals(taskEntity.Unique)); bjqyxy.SingelSearch(searchInfo); }); tasks[i].Start(); } Task.WaitAny(tasks); }); } crawlerEntity = new CrawlerDomain().Get(t => t.搜索名称 == searchInfo && t.名称 != null).FirstOrDefault(); } return View(crawlerEntity); }
public ActionResult Export(TaskEntity model, bool isOptimize) { var crawlerlists = new CrawlerDomain().Get(t => t.TaskGuid == model.Unique).OrderByDescending(t => t.爬行更新时间).ToList(); if (crawlerlists.Count < 1) return Content("<script>alert('未找到内容');</script>"); var bytes = crawlerlists.ListToExcel(isOptimize); return File(bytes, "application/vnd.ms-excel", "导出北京企业采集信息[" + DateTime.Now.ToString("yyyy-M-d dddd") + "].xls"); }