private void CountWords(LoadUrlModel model) { var nodes = document.DocumentNode.SelectNodes("//text()"); foreach (HtmlNode node in nodes) { string s = node.InnerText; if (!string.IsNullOrWhiteSpace(s) && s.Length > 0) { s = s.ToLower(); string[] words = s.Split(" "); foreach (string word in words) { if (!string.IsNullOrWhiteSpace(word) && IsAlphaNum(word)) { if (model.WordCounts.ContainsKey(word)) { model.WordCounts[word]++; } else { model.WordCounts.Add(word, 1); } model.WordCount++; } } } } // Sort by count, descending model.WordCounts = model.WordCounts.OrderByDescending(d => d.Value) .ToDictionary(x => x.Key, x => x.Value); }
public LoadUrlModel GetUrlModel(string url) { LoadUrlModel model = new LoadUrlModel(); document = CacheDocument(url); model.ImageList = GetAllImages(url); CountWords(model); return(model); }
public IActionResult LoadUrl(IndexModel indexModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } LoadUrlModel model = _urlAnalyzerService.GetUrlModel(indexModel.Url); return(View(model)); }