public static string getArticleContent(string htmlText) { try { var content = ""; var parser = new HtmlParser(); var node = parser.Parse(htmlText); var contentFinder = new FindTagsVisitor(tag => tag.Name == "article"); node.AcceptVisitor(contentFinder); var resultTag = new Majestic13.HtmlNode.Tag(); resultTag = (Majestic13.HtmlNode.Tag)contentFinder.Result[0]; content = ContinueUntilOnlyTextLeft(resultTag, content); LogServices.WriteProgressLog("Fetched content of article "); return(content); } catch (Exception) { return("Содержимое не может быть загружено из-за исключения"); } }
public static string ContinueUntilOnlyTextLeft(Majestic13.HtmlNode.Tag tag, string content) { var numberofchildren = tag.Children.Count; for (int i = 0; i < numberofchildren; i++) { var childtag = tag.Children[i]; if (childtag is Majestic13.HtmlNode.Text) { var text = (Majestic13.HtmlNode.Text)childtag; content = content + " " + text.Value; } else { if (childtag is Majestic13.HtmlNode.Tag) { var tagToBeExtracted = (Majestic13.HtmlNode.Tag)childtag; content = ContinueUntilOnlyTextLeft(tagToBeExtracted, content); } } } return(content); }
public static string getArticleContent(string htmlText) { try { var content = ""; var parser = new HtmlParser(); var node = parser.Parse(htmlText); var contentFinder = new FindTagsVisitor(tag => tag.Name == "article"); node.AcceptVisitor(contentFinder); var resultTag = new Majestic13.HtmlNode.Tag(); resultTag = (Majestic13.HtmlNode.Tag)contentFinder.Result[0]; content = ContinueUntilOnlyTextLeft(resultTag, content); LogServices.WriteProgressLog("Fetched content of article "); return content; } catch (Exception ) { return "Содержимое не может быть загружено из-за исключения"; } }