Относительно недавно для одного моего фрилансерского задания необходимо было получать все ссылки с html страниц. Эту проблему я решил решить с помощью регулярных выражений, хотя я их вообще не знаю, поэтому я начал гуглить, и таки нашел то, что мне надо:

//Получение ссылок
Regex Reg = new Regex("[^\"]+[.\\s]*)[\"'].*>(?[^<]+[.\\s]*)", RegexOptions.IgnoreCase);
//Распарсивание
//В Page находится HTML код
Match match = Reg.Match(Page);
//Проход по ссылкам
List CurrentPages = new List();

while (match.Success)
{
CurrentPages.Add(match.Groups[1].Value);
match = match.NextMatch();
}

На выходе, в CurrentPages, мы получаем список ссылок. Дальше этот список надо обрабатывать так как вам надо :)