gpt4 book ai didi

java - 使用 Java 搜索 Google 的本地化网络搜索

转载 作者:行者123 更新时间:2023-11-30 11:57:31 25 4
gpt4 key购买 nike

我正在尝试使用 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.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

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

谢谢

山姆

最佳答案

根据class reference您可以在 URL 查询中设置一个“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 */);

我在这里假设语言会影响结果,仅仅是因为这两个请求 (en v fr) 似乎会导致不同的结果:

您可以在这里找到一系列语言代码:http://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx

关于java - 使用 Java 搜索 Google 的本地化网络搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3763271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com