【发布时间】:2011-11-07 23:43:29
【问题描述】:
我想要的是,从网站(来自 HtmlContent)打开一个链接 并获取这个新打开的站点的 Html..
示例:我有 www.google.com,现在我想查找所有链接。 对于每个链接,我都希望拥有新站点的 HTMLContent。
我会这样做:
foreach (String link in GetLinksFromWebsite(htmlContent))
{
using (var client = new WebClient())
{
htmlContent = client.DownloadString("http://" + link);
}
foreach (Match treffer in istBildURL)
{
string bildUrl = treffer.Groups[1].Value;
bildLinks.Add(bildUrl);
}
}
public static List<String> GetLinksFromWebsite(string htmlSource)
{
string linkPattern = "<a href=\"(.*?)\">(.*?)</a>";
MatchCollection linkMatches = Regex.Matches(htmlSource, linkPattern, RegexOptions.Singleline);
List<string> linkContents = new List<string>();
foreach (Match match in linkMatches)
{
linkContents.Add(match.Value);
}
return linkContents;
}
另一个问题是,我只得到链接,而不是链接按钮 (ASP.NET).. 我该如何解决这个问题?
【问题讨论】:
-
你真的应该使用 Html 解析器,比如
HtmlAgilityPack