GoLang WebCrawling删除空标记



我正在尝试抓取web,在少数情况下,我的HTML看起来像这样,并且包括n&CCD_ 2。


<article>
<div></div>
<p>
<br/>n</p>nt
<p><span></span></p>
</article>

在某些情况下,我该如何删除标签?我有nt,我也需要去掉它。

  1. 正在剥离所有标签,使其变为空
  2. 如果它是空的,那么它的父级也将是空的

我不知道这是否是您想要的。

re, _ := regexp.Compile("(<.*?>|n|t|\\n|\\t)")
rep := re.ReplaceAllString(`<article>
<div></div>
<p>
<br/>n</p>nt
<p><span></span></p>
</article>`, "")
fmt.Println(rep)

或者,以下代码仅删除空标记。

func RemoveTags(html string) string {
re, _ := regexp.Compile("<[^>/]+></[^>]+>")
rep := re.ReplaceAllString(html, "")
if rep != html {
return RemoveTags(rep)
}
return rep
}
re, _ := regexp.Compile("(n|t|\\n|\\t|<[^/>]+/>)")
rep := re.ReplaceAllString(`<article>123
<div></div>
<p>
<br/>n</p>nt
<p><span></span></p>
</article>`, "")
fmt.Println(RemoveTags(rep))

结果:

<article>123</article>

相关内容

  • 没有找到相关文章

最新更新