Чувак, вы не должны разобрать HTML с регулярным выражением , Я не объясняю, почему здесь, есть много информации о том, почему здесь. Решение, чтобы получить все результаты, используя HtmlAgilityPack и XPATH:
public IEnumerable<string> GetResults(string html) {
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//span[@class='tl']/h3/a"))
{
var value = link["href"].Value;
yield return value;
}
}
Это будет получать все ссылки, соответствующие нашим XPATH //span[@class='tl']/h3/a
(пункты SERP, нет КПП и т.д.) и вернуть HREF атрибута.
простой способ получить ваш HTML использует WebClient, как:
using(var wc = new WebClient())
{
return wc.DownloadString("http://www.google.com/search?q=" + HttpUtility.HtmlEncode(searchTerm));
}
Вы, очевидно, нужно сделать загрузку и сравнение самостоятельно, но это должно вам начать работу.
Этот код очень неправильно. Кроме того, он не будет смотреть за пределы первой страницы. – SLaks
любая идея улучшить его –