css样式正则:<style[\\s\\S]+?</style>

js脚本正则:<script[\\s\\S]+?</script>

标签正则:<[^\\>]*>

使用这三种正则表达式,基本能把页面的所有杂质过滤掉,只留下文本内容。

/// <summary>
    /// 去掉html内容中全部标签
    /// </summary>
    /// <param name="content">html内容</param>
    /// <returns>去掉html标签的内容</returns>
    public static string DropHtmlTag(string content)
    {
        //去掉<*>
        string Info = Drop(content, "<style[\\s\\S]+?</style>");
        Info = Drop(Info, "<script[\\s\\S]+?</script>");
        return Drop(Info, "<[^\\>]*>");
    }
    /// <summary>
    /// 删除字符串中指定的内容
    /// </summary>
    /// <param name="src">要修改的字符串</param>
    /// <param name="pattern">要删除的正则表达式模式</param>
    /// <returns>已删除指定内容的字符串</returns>
    public static string Drop(string src, string pattern)
    {
        Regex regex = new Regex(pattern, RegexOptions.None | RegexOptions.Compiled);
        return regex.Replace(src, "");
    }