如果我提供网站网址,我希望逻辑从网站获取所有网页网址,这意味着如果我要提供网站网址,那么我应该在网站中获取包含网址的所有网页。如何使用C#实现此目的。
答案 0 :(得分:2)
虽然这不是一项微不足道的任务,但最好从Html Agility Pack开始。
它允许您搜索HTML标记,即使标记无效也是如此。它比手动解析您的回复要好得多。
如Save所述,以下答案提供了一个很好的例子:
HtmlWeb hw = new HtmlWeb();
HtmlDocument doc = hw.Load(/* url */);
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
}
答案 1 :(得分:1)
您可以使用WebClient或WebRequest
WebRequest request = WebRequest.Create("http://www.yahoo.com");
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
html = sr.ReadToEnd();
}