示例#1
0
        private async Task <List <CodingStat> > GetGithubStats()
        {
            using (var client = new HttpClient())
            {
                var config   = Configuration.Default.WithDefaultLoader();
                var address  = "https://github.com/KolbySisk";
                var document = await BrowsingContext.New(config).OpenAsync(address);

                var repositorySelector = ".underline-nav-item:nth-of-type(2) .Counter";
                var repositoryValue    = document.QuerySelectorAll(repositorySelector)[0].TextContent;

                var statRepository = new CodingStat();
                statRepository.href         = "https://github.com/KolbySisk";
                statRepository.src          = "images/icon-github.png";
                statRepository.alt          = "github logo";
                statRepository.displayValue = 0;
                statRepository.value        = Regex.Replace(repositoryValue, "[^0-9]", "");
                statRepository.title        = "public repositories";

                var codingStatList = new List <CodingStat>();
                codingStatList.Add(statRepository);

                return(codingStatList);
            }
        }
示例#2
0
        private async Task <List <CodingStat> > GetStackoverflowStats()
        {
            using (var client = new HttpClient())
            {
                var config   = Configuration.Default.WithDefaultLoader();
                var address  = "http://stackoverflow.com/users/1933563/kolby";
                var document = await BrowsingContext.New(config).OpenAsync(address);

                var repSelector = ".reputation";
                var repValue    = document.QuerySelectorAll(repSelector)[0].TextContent;
                var statRep     = new CodingStat();
                statRep.href         = "http://stackoverflow.com/users/1933563/kolby";
                statRep.src          = "images/icon-stackoverflow.png";
                statRep.alt          = "stackoverflow logo";
                statRep.displayValue = 0;
                statRep.value        = Regex.Replace(repValue, "[^0-9]", "");
                statRep.title        = "reputation";

                var answersSelector = ".answers .number";
                var answersValue    = document.QuerySelectorAll(answersSelector)[0].TextContent;
                var statAnswers     = new CodingStat();
                statAnswers.href         = "http://stackoverflow.com/users/1933563/kolby";
                statAnswers.src          = "images/icon-stackoverflow.png";
                statAnswers.alt          = "stackoverflow logo";
                statAnswers.displayValue = 0;
                statAnswers.value        = answersValue;
                statAnswers.title        = "answers";

                var peopleReachedSelector = ".people-helped .number";
                var peopleReachedValue    = document.QuerySelectorAll(peopleReachedSelector)[0].TextContent;
                var statPeopleReached     = new CodingStat();
                statPeopleReached.href         = "http://stackoverflow.com/users/1933563/kolby";
                statPeopleReached.src          = "images/icon-stackoverflow.png";
                statPeopleReached.alt          = "stackoverflow logo";
                statPeopleReached.displayValue = 0;
                statPeopleReached.value        = peopleReachedValue.Replace("~", "").Replace("k", "000");
                statPeopleReached.title        = "people reached";

                var codingStatList = new List <CodingStat>();
                codingStatList.Add(statRep);
                codingStatList.Add(statAnswers);
                codingStatList.Add(statPeopleReached);

                return(codingStatList);
            }
        }