API автозаполнения поиска Google?

Предоставляет ли Google API доступ к автозаполнению для поиска, как на реальном сайте? Я не смог ничего найти.

Я хотел бы использовать логику автозаполнения Google для веб-поиска на моем собственном сайте, который основан на поисковом API Google.

7 ответов

Новый URL-адрес:

http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY

требуется клиентская часть; Я не проверял других клиентов.

[РЕДАКТИРОВАТЬ]

Если вы хотите обратный вызов, используйте это:

http://suggestqueries.google.com/complete/search?client=chrome&q=YOURQUERY&callback=callback

Как выяснил @Quandary; обратный вызов не работает с клиентом "Firefox".

[EDIT2]

Как указано @ user2067021, этот API перестает работать с 10-08-2015: обновление API автозаполнения

Большинство из вышеперечисленных методов работает для меня, в частности, следующее служит моей цели.

http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY

Будучи новичком в веб-программировании, я не очень осведомлен о функциональности "обратного вызова" и о формате файла, возвращаемого запросом. Я мало знаю об AJAX и JSON. Может ли кто-нибудь предоставить более подробную информацию о формате файла, возвращаемого запросом. Благодарю.

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

После сохранения настроек вернитесь на главную домашнюю страницу Google. Откройте инструменты разработчика вашего браузера и перейдите на вкладку Сеть. Если вы в Firefox, возможно, вам придется перезагрузить страницу.

Введите букву в поле поиска. Новая строка должна появиться в окне сети, которое вы только что открыли. Эта строка показывает, откуда пришли данные автозаполнения. Скопируйте этот URL. Это должно выглядеть примерно так:

https://www.google.com/complete/search?client=hp&hl=en&sugexp=msedr&gs_rn=62&gs_ri=hp&cp=1&gs_id=9c&q=a&xhr=t&callback=hello

Вы заметите свой поисковый запрос сразу после части, которая говорит q=,

добавлять &callback=myAmazingFunction до конца URL. Вы можете заменить myAmazingFunction на любое имя, которое вы хотите назвать своей функцией, которая будет обрабатывать данные.

Вот пример кода, необходимого для отображения данных автозаполнения для поискового запроса "а".

<div id="output"></div>

<script>
/* this function shows the raw data */
function myAmazingFunction(data){
    document.getElementById('output').innerHTML = data;
}
</script>

<script src="https://www.google.com/complete/search?client=hp&hl=en&sugexp=msedr&gs_rn=62&gs_ri=hp&cp=1&gs_id=9c&q=a&xhr=t&callback=hello&callback=myAmazingFunction"></script>

Теперь, когда вы знаете, как получить данные, следующим шагом будет автоматическое изменение последнего сценария (сценария с URL-адресом автозаполнения). Основная процедура такова: каждый раз, когда пользователь вводит что-то в поле поиска (onkeyup), заменяет поисковый термин (q= что угодно) в URL, а затем добавляет к тексту сценарий с этим URL. Удалите предыдущий скрипт, чтобы тело не загромождалось.

Для получения дополнительной информации см. http://simplestepscode.com/autocomplete-data-tutorial/

Вы должны использовать AutocompleteService и передать это значение текстового поля в service.getPlacePredictionsфункция. Он отправляет данные в функцию обратного вызова.

      let service = new google.maps.places.AutocompleteService();

let displaySuggestions = function(predictions, status) {
}

service.getPlacePredictions({
    input: value
}, displaySuggestions);

База: https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service#AutocompleteService.getPlacePredictions

пример: https://dzone.com/articles/implement-and-optimize-autocomplete-with-google-pl

Здравствуйте, я не знаю, актуален ли этот ответ для вас или нет, но Google возвращает данные JSON через следующий запрос get (хотя это не официальный API, но многие панели инструментов используют этот API, поэтому нет причин, по которым Google может прекратить его):

http://google.com/complete/search?q=<Your keywords here>&hl=en 

Я использую API (( Edrra.com )) с поиском Google и предложениями, которые работают как с GET, так и с POST:

Предложения Google: https://edrra.com/v1/api.php?c=google&amp;amp;f=suggest&amp;amp;k=YOUR_API_KEY&amp;amp;v=YOUR_SEARCH

Поиск Google: https://edrra.com/v1/api.php?c=google&amp;amp;f=search&amp;amp;k=YOUR_API_KEY&amp;amp;v=YOUR_SEARCH

и более...

Для чего вы пытаетесь использовать автозаполнение? Дополнительная информация поможет сузить ее.

Насколько я знаю, Google не предоставляет такой, но они существуют как автозаполнение пользовательского интерфейса jQuery.

РЕДАКТИРОВАТЬ:

Если вы используете их пользовательский API поиска, посмотрите здесь для автозаполнения.

Другие вопросы по тегам