/// <summary> /// Метод получает html-код страницы и запускает работу парсера. /// </summary> public async void StartParse() { OnStart?.Invoke(this); // Получаем код страницы. string source = await _loader.GetSource(); if (string.IsNullOrEmpty(source)) { return; } // Парсим код страницы с помощью AngleSharp. var domParser = new AngleSharp.Html.Parser.HtmlParser(); IHtmlDocument document = await domParser.ParseDocumentAsync(source); T result = Parser.Parse(document); OnComplited?.Invoke(this, result); }
private async void Worker() { for (int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++) { if (!isActive) { OnCompleted?.Invoke(this); return; } var source = await htmlLoader.GetSourceByPageId(i); var domParser = new Parser(); var document = await domParser.ParseDocumentAsync(source); var result = parser.Parse(document, Settings.ClassName, Settings.QuerySelector); OnNewData?.Invoke(this, result); } OnCompleted?.Invoke(this); isActive = false; }