Получить результаты поиска Google в C # - PullRequest
2 голосов
/ 16 ноября 2011

Я пытаюсь получить результаты поиска Google, используя пакет Agility HTML, но не получаю правильную страницу. Страница, которую я получаю, является главной страницей Google,

Это ссылка, которую веб-браузер C # дает мне: https://www.google.com/#sclient=psy-ab&hl=en&site=&source=hp&q=hello+world&pbx=1&oq=hello+world&aq=f&aqi=&aql=&gs_sm=e&gs_upl=14782l16242l0l16965l11l7l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=5586f0ad4776d5b3&biw=268&bih=250

(если вы попытаетесь вставить его в обычный браузер, он сменится на URL ниже)

Это если я использую обычный браузер: https://www.google.com/search?sclient=psy-ab&hl=en&site=&source=hp&q=hello+world&pbx=1&oq=hello+world&aq=f&aqi=&aql=&gs_sm=e&gs_upl=14782l16242l0l16965l11l7l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.,cf.osb&biw=268&bih=250&cad=h

private void GotoGoogleButton(object sender, EventArgs e)
{
    webBrowser1.Navigate(new Uri("https://www.google.com"));
}

private void getResultsButton(object sender, EventArgs e)
{
    url = webBrowser1.Url.ToString();
    start_parsing(url);
}

public void start_parsing(string URL_) 
{
    //This function is used to Parse Html source using Html Agility Pack into nodes, and take the important ones (mainly : a,form,iframe)

    HtmlAgilityPack.HtmlDocument document = webGet.Load(URL_);
    var metaTags = document.DocumentNode.SelectNodes("//a");

    // ...

    // Continue with parsing...
}

Как получить результаты поиска вместо домашней страницы?

Ответы [ 3 ]

2 голосов
/ 16 ноября 2011

просто вы можете заменить # на search?.но почему вы не можете использовать Google Search API для этого

2 голосов
/ 16 ноября 2011

Я думаю, вам лучше будет посмотреть RESTful API Google для поиска

Похоже, вы можете получить фид Atom, содержащий результаты поиска.

0 голосов
/ 16 ноября 2011

Вы можете взглянуть на оболочку .NET вокруг API пользовательского поиска Google

http://code.google.com/p/cse-net/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...