Получение реальных результатов Google в Google AJAX API - PullRequest
2 голосов
/ 07 июля 2010

Когда я выполняю поиск, я использую 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 (мне нужны параметры RESTinterface) Спасибо за помощь

Ответы [ 3 ]

1 голос
/ 05 января 2011

вы не можете.

нет "реальных" результатов.

SERP (страница результатов поиска), которую вы видите! = SERP, который кто-то другой видит, потому что sh * tloadфакторов, которые необходимо учитывать (местоположение, история веб-поиска, предыдущие поиски, вход в систему, выход из системы, время суток, ....)

и, да, известно, что API не отображает те же результаты, что иСтраница поиска в Google (некоторые говорят, что это более старый индекс Google, я думаю, что он просто другой), но, опять же, если человек рядом с вами выполняет поиск со своего компьютера, он может также увидеть другую выдачу.

единственный способполучить те же результаты, которые вы видите, будет установить программируемый браузер на вашем компьютере, а затем отказаться от результатов и сделать свой собственный JSON из него.но это, вероятно, не то, что вы хотите.

0 голосов
/ 20 января 2018

Мы создали решение, которое запускает полноценный браузер для получения результатов, максимально приближенных к тому, что видит реальный пользователь: 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

Java:

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

И Руби:

require 'google_search_results'
query = GoogleSearchResults.new q: "coffee"
hash_results = query.get_hash

GitHub: https://github.com/serpapi/google-search-results-ruby

0 голосов
/ 29 ноября 2014

Почти поисковые системы основаны на вашей личной информации (местоположение, нация, язык, история, поведение / тренд поиска, ...), чтобы вычислить страницу результатов, это причина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...