private void GetData(object sender, DoWorkEventArgs e) { try { //使用companyroot数据时 从pageHelp.data调用 //使用fileroot数据时 从result调用 companyRoot = Scrapy.GetCompany(); fileRoot = Scrapy.GetFiles(); } catch (Exception exception) { if (exception.Message == "0") { DialogResult dialog = MessageBox.Show("在线获取数据失败\n是否加载本地文件数据?", "错误", MessageBoxButtons.OKCancel, MessageBoxIcon.Error); if (dialog == DialogResult.OK) { e.Result = "加载本地数据"; return; } } else { MessageBox.Show(exception.ToString()); } } //异步获取并初始化数据 toolStripStatusLabel1.Text = "初始化数据"; // 在这里校验一波公司名 避免搞事情 foreach (var data in companyRoot.pageHelp.data) { if (data.stockAuditName != data.stockIssuer[0].s_issueCompanyFullName) { data.stockAuditName = data.stockIssuer[0].s_issueCompanyFullName; } //处理特殊状态 if (data.currStatus == "5") { data.currStatus += "-" + data.registeResult; } var statu = statuDictionary.Where(q => q.Value == data.currStatus).First(); if (localstatus.ContainsKey(data.stockAuditName)) { if (localstatus[data.stockAuditName] != statu.Key) { //状态不一致 移动目录 //MessageBox.Show("公司" + data.stockAuditName+" 最新状态" +statu.Key +" 老状态"+localstatus[data.stockAuditName]); DirectoryInfo olddir = new DirectoryInfo(Result.localBasePath + "\\" + localstatus[data.stockAuditName] + "\\" + data.stockAuditName); DirectoryInfo dir2 = new DirectoryInfo(Result.localBasePath + "\\" + statu.Key); if (!dir2.Exists) { dir2.Create(); } olddir.MoveTo(Result.localBasePath + "\\" + statu.Key + "\\" + data.stockAuditName); localstatus[data.stockAuditName] = statu.Key; toolStripStatusLabel1.Text = data.stockAuditName + " 申报状态由 " + localstatus[data.stockAuditName] + " 变为 " + statu.Key; } } } foreach (Result res in fileRoot.result) { //让company和file互相引用 Data companyData = (from c in companyRoot.pageHelp.data where c.stockAuditName == res.companyFullName select c).First(); string currStatus = companyData.currStatus; var statu = statuDictionary.FirstOrDefault(q => q.Value == currStatus).Key; res.CompanyStatus = statu; res.CompanyData = companyData; //if (companyData.FileResults == null) //{ // //先要初始化列表 // companyData.FileResults = new List<Result>(); //} companyData.FileResults.Add(res); } resultTemp = fileRoot.result.ToList(); e.Result = "GetData"; }
private void HacerConsultaXPath() { scrapy = new Scrapy(DocumentoAScrapearHtml); ResultadoScrapeo = scrapy.SeleccionarNodosXPath(TextoConsultaXpath); }