鉴于网址,我想检测网站中的所有链接,识别内部链接并列出它们。
我拥有的是:
WebClient webClient = null;
webClient = new WebClient();
string strUrl = "http://www.anysite.com";
string completeHTMLCode = "";
try
{
completeHTMLCode = webClient.DownloadString(strUrl);
}
catch (Exception)
{
}
使用这个我可以阅读页面的内容....但我脑海中唯一的想法是解析这个字符串....搜索<a
然后href
然后是值在双引号之间。
这是唯一的出路吗?还是有一些其他更好的解决方案?
答案 0 :(得分:4)
使用HTML Agility Pack。这是一个blog post的链接,可以帮助您入门。不要使用正则表达式。
答案 1 :(得分:2)
使用HtmlAgilityPack
completeHTMLCode =
webClient.DownloadString(strUrl);
doc.Load(completeHTMLCode);
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@a"])
{
//
}