当我执行搜索时,我使用Google AJAX API(http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=flowers&gl=fr)
(gl = fr) 第一个找到的URL是:flowercampings.com。
而当我使用google.fr时,第一个链接是:www.1800flowers.com
如何使用API获得相同的结果(我需要REST接口参数) 谢谢你的帮助
答案 0 :(得分:1)
你做不到。
没有“真实”结果。
你看到的SERP(搜索引擎结果页面)!=其他人看到的SERP,因为有些因素考虑在内(地点,你的网络历史,以前的搜索,登录,退出,时间, ....)
是的,已知API不会显示与谷歌搜索页面相同的结果(有人说它是一个较旧的谷歌索引,我认为它只是不同),但如果旁边的人从他的计算机中搜索,他可能还会看到另一个SERP。
获得相同结果的唯一方法是在您的计算机上安装可编程浏览器,然后废弃结果并制作自己的JSON。但那可能不是你想要的。
答案 1 :(得分:0)
几乎搜索引擎基于您的个人信息(位置,国家,语言,历史,搜索行为/趋势,......)来计算结果页面,这就是原因。
答案 2 :(得分:0)
我们构建了一个运行完整浏览器的解决方案,以获取与实际用户看到的最接近的结果:https://serpapi.com
我们有多种语言的整合。的Python:
from lib.google_search_results import GoogleSearchResults
query = GoogleSearchResults({"q": "coffee"})
html_results = query.get_html()
GitHub:https://github.com/serpapi/google_search_results_python
爪哇:
Map<String, String> parameter = new HashMap<>();
parameter.put("q", "Coffee");
parameter.put("location", "Portland");
parameter.put(GoogleSearchResults.SERP_API_KEY_NAME, "demo");
GoogleSearchResults serp = new GoogleSearchResults(parameter);
JsonObject data = serp.getJson();
JsonArray results = (JsonArray) data.get("local_results");
JsonObject first_result = results.get(0).getAsJsonObject();
System.out.println("first coffee: " + first_result.get("title").getAsString());
GitHub:https://github.com/serpapi/google_search_results_java
和Ruby:
require 'google_search_results'
query = GoogleSearchResults.new q: "coffee"
hash_results = query.get_hash
GitHub:https://github.com/serpapi/google-search-results-ruby