正在从网页中提取内容

本文关键字:提取 网页 | 更新日期: 2023-09-27 18:28:38

我正在尝试使用HTMLagilitypack从网页中提取所有内容。

foreach (HtmlTextNode node in doc.DocumentNode.SelectNodes("//text()"))
{
    sb.AppendLine(node.Text);
}

当我尝试使用上面的代码解析google.com时,我得到了很多javascript。我只想提取网页中的内容,比如hp标签中的内容。喜欢接受这个页面上的问题、答案和评论,并删除其他所有内容。

我对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元素