private async Task <List <ManagementCompany> > GetCompaniesAsync(string content) { List <ManagementCompany> list = new List <ManagementCompany>(); var config = Configuration.Default; var context = BrowsingContext.New(config); var document = await context.OpenAsync(req => req.Content(content)); var divs = document.QuerySelectorAll("div.manageListComp__tableTr.manageListComp__tableTr_body"); foreach (var item in divs) { ManagementCompany mc = new ManagementCompany(); mc.Name = item.QuerySelector("a.a.a_blue").TextContent; mc.Url = item.QuerySelector("a.a.a_blue").GetAttribute("href"); mc.Inn = item.QuerySelector("div.manageListComp__tableTd.manageListComp__tableTd_inn").TextContent; try { mc.CountHouse = int.Parse(item.QuerySelector("div.manageListComp__tableTd.manageListComp__tableTd_count").TextContent.Replace(" ", "")); } catch (Exception ex) { Console.WriteLine(ex.Message + " " + mc.Url); mc.CountHouse = 999; } list.Add(mc); } return(list); }
public List <House> GetHouseManagementCompany(ManagementCompany company) { string url = DomInfoRepository.URL_SITE + company.Url; string content = _repository.LoadPage(url); if (company.CountHouse > 15) { Task <HouseListInfo> task = _repository.GetListInfoAsync <HouseListInfo>(content, "div.js__manageCompanyHousesTable"); task.Wait(); HouseListInfo houseListInfo = task.Result; _repository.GetToken(url); DataResponse dr = _repository.LoadData(houseListInfo.GetLoadAll(), url, URL_MORE_HOUSE); content = Base.Base64Decode(dr.DataHtml.Content); } Task <List <House> > taskListHouse = GetHouseAsync(content); taskListHouse.Wait(); return(taskListHouse.Result); }