Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

[EDIT]

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

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

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

[EDIT2]

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

Ответ 2

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

Здесь приведен пример кода, который должен отображать данные автозаполнения для поискового термина "a".

<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>

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

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

Ответ 3

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

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

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

Ответ 4

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

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

EDIT:

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

Ответ 5

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

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