예제 #1
0
        public async Task <ICollection <Group> > ParseGroupsAsync(int facultyId)
        {
            var page = await _restClient.CreateHtmlDocumentAsync
                       (
                ParserRoutes.GetGroupsUri(facultyId)
                       );

            return(page.DocumentNode
                   .SelectNodes(".//ul/li/a")
                   .Select(node =>
            {
                var onClickParameters = node.Attributes["onclick"]
                                        .Value
                                        .GetTextBetweenBrackets()
                                        .Split(",");

                var type = Convert.ToInt32
                           (
                    onClickParameters.ElementAt(index: 1)
                           );

                var id = Convert.ToInt32
                         (
                    onClickParameters.ElementAt(index: 2)
                         );

                return new Group()
                {
                    Id = id,
                    TypeId = type,
                    Title = node.InnerText
                };
            })
                   .ToList());
        }
예제 #2
0
        public async Task <ICollection <Faculty> > ParseFacultiesAsync()
        {
            var page = await _restClient.CreateHtmlDocumentAsync
                       (
                ParserRoutes.GetBaseUri()
                       );

            return(page.DocumentNode
                   .SelectNodes(".//*[contains(@class, 'menu')]/*[contains(@class, 'red')]")
                   .Select(node =>
            {
                var onClickParameters = node.Attributes["onclick"]
                                        .Value
                                        .GetTextBetweenBrackets()
                                        .Split(",");

                var id = Convert.ToInt32
                         (
                    onClickParameters.First()
                         );

                return new Faculty()
                {
                    Id = id,
                    Title = node.InnerText
                };
            })
                   .ToList());
        }