搜索谷歌';用Java实现本地化的web搜索

搜索谷歌';用Java实现本地化的web搜索,java,search,localized,Java,Search,Localized,我正在尝试使用Java应用程序在不同的国家搜索Google,例如Google.co.uk、Google.de等。我发现与Java一起使用的Google Ajax API只允许您使用以下内容进行web搜索 URL url = new URL("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&" + "q=information%20retrieval&key=INSERT-YOUR-KEY&userip=U

我正在尝试使用Java应用程序在不同的国家搜索Google,例如Google.co.uk、Google.de等。我发现与Java一起使用的Google Ajax API只允许您使用以下内容进行web搜索

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.co.uk的搜索结果:

但是返回的结果是一个空页。有人知道解决办法吗

谢谢

Sam

根据URL查询,您可以在URL查询中设置“hl”参数。因此,对于UK结果,您将指定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)似乎会导致不同的结果:

您可以在此处找到大量语言代码: