Поиск в локализованном поиске Google с помощью Java - PullRequest
2 голосов
/ 21 сентября 2010

Я пытаюсь использовать приложение Java для поиска Google в разных странах, например, google.co.uk, google.de и т. Д. Я обнаружил, что API-интерфейс Google Ajax, используемый с Java, позволяет выполнять поиск в Интернете только соднако

URL url = new URL("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
+ "q=information%20retrieval&key=INSERT-YOUR-KEY&userip=USERS-IP-ADDRESS");

URLConnection connection = url.openConnection();

connection.addRequestProperty("Referer", /* Enter the URL of your site here */);

, это просто дает мне результаты google.com.Мне нужны отдельные результаты для каждой страны.Есть ли в любом случае сделать это с Java.

У Google есть локальный поиск, но он основан на Google Maps, он использует долготу и широту и предоставляет результаты бизнес-поиска.Мне нужны веб-страницы, специфичные для каждой страны.

Любые идеи ..

Я пытался отсканировать результаты поиска google.co.uk со следующими данными:

http://www.google.co.uk/#hl=en&source=hp&q=information+retrieval&aq=f&aqi=g10&aql=&oq=&gs_rfai=CjqZ0vBeYTLfwMZz0ygTJ84WADgAAAKoEBU_Qz3dV&fp=44fc429e19c3a006

но возвращаемый результат - пустая страница.Кто-нибудь знает обходной путь?

спасибо

Сэм

1 Ответ

1 голос
/ 12 июля 2011

В соответствии с классовой ссылкой вы можете установить параметр 'hl' в запросе URL. Так что для результатов в Великобритании вы должны указать hl = en-gb, и ваш код будет выглядеть так:

URL url = new URL("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
+ "hl=en-gb&q=information%20retrieval&key=INSERT-YOUR-KEY&userip=USERS-IP-ADDRESS");

URLConnection connection = url.openConnection();

connection.addRequestProperty("Referer", /* Enter the URL of your site here */);

Я предполагаю, что язык влияет на результаты просто потому, что эти два запроса (en v fr) приводят к различным результатам:

Вы можете найти список кодов языков здесь: http://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx

...