我正在尝试使用Java应用程序搜索不同国家/地区的Google,例如google.co.uk,google.de等。我发现与Java一起使用的Google Ajax API只允许您使用以下
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.co.uk的搜索结果:
但返回的结果是一个空页面。任何人都知道解决方法吗?
感谢
萨姆
答案 0 :(得分:1)
根据class reference,您可以在网址查询中设置'hl'参数。因此,对于英国结果,您将指定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 */);
我在这里假设langauge会影响结果,因为这两个请求(en v fr)似乎会产生不同的结果:
您可以在此处找到最新的语言代码:http://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx