2011-01-07 3 views
0

각 페이지로 이동하지 않고 주어진 단어에 대한 내 링크가있는 페이지를 찾고 싶습니다. 그것이 내가Google 검색 위치

내가 검색 단어 소셜 네트워킹에 대한 링크 facebook.com를 찾아 구글 페이지가 현재이 링크

+0

코드가 매우 잘못되었습니다. 또한 첫 번째 페이지를 넘지 않습니다. – SLaks

+0

개선을위한 아이디어 –

답변

2

야 인에 볼 수 있습니다 말할 수 윈폼에게 C#을 사용하고 가능하면 정규 표현식으로 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 항목을, 아니 PPC 등)과 일치하는 모든 링크를 가져오고 href 속성을 반환합니다.

당신의 HTML이 같은 웹 클라이언트를 사용하고 얻을 수있는 쉬운 방법 : 당신은 분명히 다운로드 및 비교 자신을 할 필요가

using(var wc = new WebClient()) 
{ 
    return wc.DownloadString("http://www.google.com/search?q=" + HttpUtility.HtmlEncode(searchTerm)); 
} 

, 그러나 이것은 당신이 가야한다.

+0

해당 페이지가 몇 개인지 링크가 표시되지 않는 링크를 얻는 것이 아닙니다.) –

0

사용해보기 - 하루에 100 개의 검색어로 제한됩니다.