private async void Worker() { for (int i = _parserSettings.StartPoint; i < _parserSettings.EndPoint; i++) { if (isActive) { string source = await _loader.GetSourseByPage(i); HtmlParser docParser = new HtmlParser(); IHtmlDocument document = await docParser.ParseDocumentAsync(source); OnNewName?.Invoke(this, _parser.Parse(document, DataType.auctionName)); } } OnComplited?.Invoke(this); Stop(); return; }
public async void Worker() { for (var i = _parserSettings.StartPoint; i <= _parserSettings.EndPoint; i++) { if (IsActive) { string source = await _loader.GetSourceByPage(i); HtmlParser domParser = new HtmlParser(); IHtmlDocument document = await domParser.ParseDocumentAsync(source); T result = Parser.Parse(document); OnNewData?.Invoke(this, result); } } OnComplited?.Invoke(this); IsActive = false; }
/// <summary> /// Будет контролировать процесс парсинга. /// </summary> public async void Worker() { for (int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++) { if (IsActive) //Проверка если запущин еще парсер. { string source = await loader.GetSourceByPage(i); //Получаем код страницы. HtmlParser domParser = new HtmlParser(); //Парсер из AngleSharp. IHtmlDocument document = await domParser.ParseDocumentAsync(source); //получить код с которым можно работать. T result = parser.Parse(document); items = result; OnNewData?.Invoke(this, result); } } OnComplited?.Invoke(this); isActive = false; }
/// <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); }
public async void Worker() { for (int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++) { if (IsActive) { string source = await loader.GetSourceByPage(i); //Получаем код страницы //Здесь магия AngleShap, подробнее об интерфейсе IHtmlDocument и классе HtmlParser, //можно прочитать на GitHub, это интересное чтиво с примерами. HtmlParser domParser = new HtmlParser(); IHtmlDocument document = await domParser.ParseDocumentAsync(source); T result = parser.Parse(document); OnNewData?.Invoke(this, result); } } OnComplited?.Invoke(this); isActive = false; }
private async void Worker() { for (int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++) { if (!isActive) { OnComplited?.Invoke(this); return; } var source = await loader.GetSourceByPageId(i); var domParser = new HtmlParser(); var document = await domParser.ParseAsync(source); var result = parser.Parse(document); OnNewData?.Invoke(this, result); } OnComplited?.Invoke(this); isActive = false; }
public async Task <bool> Compress() { LastError = null; try { await CompressInner(true); return(true); } catch (Exception e) { LastError = e; Trace.Write(e); return(false); } finally { OnComplited?.Invoke(this, EventArgs.Empty); } }
public async Task <bool> Extract() { LastError = null; try { await ExtractInner(_removeAfterUnzip, _cleanExtractingFolder); return(true); } catch (Exception e) { LastError = e; Trace.Write(e); return(false); } finally { OnComplited?.Invoke(this, EventArgs.Empty); } }
private async void Worker() { if (!isActive) { OnComplited?.Invoke(this); return; } var source = await loader.GetSourceByPageId(); var domParser = new HtmlParser(); var document = await domParser.ParseAsync(source); var resultPars = parser.Parse(document); OnNewData?.Invoke(this, resultPars); OnComplited?.Invoke(this); }
public async Task Worker(string wwwroot) { for (int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++) { if (IsActive) { HtmlParser domParser = new HtmlParser(); string source = await loader.GetSourceByPage(i); IHtmlDocument document = await domParser.ParseDocumentAsync(source); T idList = parser.GetCarIdsList(document); List <IHtmlDocument> documents = new List <IHtmlDocument>(); string[] sourceArray = await loader.GetSourcesByCarIds((string[])(object)idList); // очень долго отрабатывает foreach (var item in sourceArray) { documents.Add(await domParser.ParseDocumentAsync(item)); } await parser.ParseCarDetailsAsync(documents, (string[])(object)idList); List <IHtmlDocument> photoDocuments = new List <IHtmlDocument>(); string[] sourcePhotoArray = await loader.GetPhotoSourcesByCarIds((string[])(object)idList); foreach (var item in sourcePhotoArray) { photoDocuments.Add(await domParser.ParseDocumentAsync(item)); } await parser.ParseCarPhotosAsync(photoDocuments, (string[])(object)idList, wwwroot); //OnNewData?.Invoke(this, result); } } OnComplited?.Invoke(this); isActive = false; }