从网站获取页面列表

本文关键字:列表 获取 网站 | 更新日期: 2023-09-27 17:58:58

如果我提供了网站URL,我希望逻辑从网站获取所有页面URL,这意味着如果我将提供网站URL,那么我应该在集合中获取所有带有URL的页面。我如何使用C#实现这一点。

从网站获取页面列表

虽然这不是一项琐碎的任务,但您最好从Html敏捷包开始。

它允许您搜索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

您可以使用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();
}