我有一个包含网站内容的字符串,例如(概述,插入标记和内容)
$string = '<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Some title
</title>
</head>
<body>Navigation
<br><div>CSS</div>
<br><div>JavaScript</div>
<br>Advertising
<br><div>Content</div>
<br>Navigation
<br>Advertising
<br>Inprint
<br>
</body>
</html>'
如何在没有多余内容的情况下获取内容?根据内容,我不是指“内容”这个词,而是指网站的真实内容。
例如,在论坛中,我希望论坛的条目没有导航,标签,广告。
我尝试了string s = Regex.Replace(string, "<.*?>", String.Empty);
,这只是剥离标记,但没有获取内容。
网站上是否存在一些重复且可被利用的模式,以帮助我在没有混乱的情况下获取内容?
答案 0 :(得分:0)
您可以使用HTML Agility Pack NuGet包。它非常灵活,您可以通过它实现您想要实现的目标。
以下是如何获取页面中所有超链接的示例:
HtmlDocument document2 = new HtmlDocument();
document2.Load(@"C:\Temp\sample.txt")
HtmlNode[] nodes = document2.DocumentNode.SelectNodes("//a").ToArray();
foreach (HtmlNode item in nodes)
{
Console.WriteLine(item.InnerHtml);
}
还有更多示例here。