private static async void Worker() { CefSourceLoader.BrowsersInit(); var filesArr = Directory.GetFiles(@"Games Struct"); var linesList = new List <string>(); foreach (var fileName in filesArr) { using (StreamReader sr = new StreamReader(fileName)) lines = sr.ReadToEnd().Split('\n').Select((item) => item.Replace("\r", "")).Where(x => x != "") .ToArray(); foreach (var line in lines) { linesList.Add(line); } } lines = linesList.ToArray(); countOfParsedLines = 0; parseIsDone = false; var taskCount = (lines.Length > beginTasksCount) ? beginTasksCount : lines.Length; tasks = Enumerable.Range(0, taskCount).Select(RunParsePage).ToArray(); await WaitForParseAllLines(); if (Program.ParserActive) { ParseComplete?.Invoke(); } }
private static async Task <IHtmlDocument> GetCefDocument(string url, int requestsCount, int seconds, int index) { string source = await CefSourceLoader.GetHtmlText(url, requestsCount, seconds, index); var domParser = new HtmlParser(); return(await domParser.ParseDocumentAsync(source)); }