2011-01-07 3 views
0

Я хочу найти на этой странице моя ссылка для данного слова seatch без навигации по каждой странице. Можно ли я с помощью WinForms C#Получить google Позиция поиска

позволяет сказать, что я должен найти ссылку Facebook.com для поиска слов в социальных сетях и посмотреть, на которых Google страница эта ссылка присутствует

+0

Этот код очень неправильно. Кроме того, он не будет смотреть за пределы первой страницы. – SLaks

+0

любая идея улучшить его –

ответ

2

Чувак, вы не должны разобрать 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)); 
} 

Вы, очевидно, нужно сделать загрузку и сравнение самостоятельно, но это должно вам начать работу.

+0

его не о получении ссылок о том, как найти ссылку на какое количество страниц;) –

Смежные вопросы