正在从网页中提取内容
本文关键字:提取 网页 | 更新日期: 2023-09-27 18:28:38
我正在尝试使用HTMLagilitypack
从网页中提取所有内容。
foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes("//text()"))
{
sb.AppendLine(node.Text);
}
当我尝试使用上面的代码解析google.com时,我得到了很多javascript。我只想提取网页中的内容,比如h
或p
标签中的内容。喜欢接受这个页面上的问题、答案和评论,并删除其他所有内容。
我对XPath还很陌生,不知道该往哪里走。因此,任何帮助都将不胜感激。
您可以按名称筛选不需要的标记,并将其从文档中删除。
doc = page.Load("http://www.google.com");
doc.DocumentNode.Descendants().Where(n => n.Name == "script" || n.Name == "style").ToList().ForEach(n => n.Remove());
您可以使用以下XPath表达式:
//body//*[local-name() != 'script']/text()
它只获取body
内部的元素,并跳过script
元素