从网站获取页面列表

时间:2014-04-18 12:11:26

标签: c# javascript asp.net

如果我提供网站网址,我希望逻辑从网站获取所有网页网址,这意味着如果我要提供网站网址,那么我应该在网站中获取包含网址的所有网页。如何使用C#实现此目的。

2 个答案:

答案 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]"))
{

}

来源:https://stackoverflow.com/a/2248422/548020

答案 1 :(得分:1)

您可以使用WebClientWebRequest

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();
}