Example #1
0
        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);
        }
Example #2
0
        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);
        }