Пользовательский поиск Google по всему интернету и ограничения (gizoogle)
Я работаю над поисковой системой, которая должна иметь доступ к результатам из google. Вот мои варианты:
- использование пользовательского API поиска
- использование прокси-сервера для отправки запросов на мой сервер и возврата данных
Я не уверен в некоторых вещах, хотя:
Ограничен ли пользовательский поисковый API? Мне может понадобиться очень большое количество запросов, поэтому, если использование ограничено, это будет проблемой.
Разрешено ли использовать прокси-сервер в узле, который будет отправлять поисковые запросы в google и перехватить результат, чтобы показать своим пользователям? Если я так поступлю, не столкнусь ли я с некоторыми ограничениями?
Вдохновением здесь является gizoogle, который сумел подключиться к Google API (они имеют те же результаты, что и google), но по-прежнему не использует пользовательский поиск (пользовательский поиск отображает добавления, и на этом сайте их нет). Поэтому я предполагаю, что у них есть какой-то прокси, но почему google позволяет им запускать эти запросы?
Edit: оказывается, что обычай поиск API также ограничен. Итак, как поживает гизугл ?
3 ответа:
Хорошо вот как я решил эту проблему:
Оказывается, что у google есть потерянный API (вероятно, устаревший, поэтому имейте это в виду) для клиентского ajax-поиска. Это выглядит так:
http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=test&rsz=large
Просто перейдите на этот url, чтобы увидеть, какие результаты он дает.
Итак, в основном вот этот процесс:
Единственным недостатком является то, что поиск должен быть выполнен в ajax, что означает, что страница пуста при загрузке и заполняется позже. Но на самом деле вы можете использовать get parameters in URL для предварительной загрузки поиска и заполнения страницы перед отправкой ее клиенту.
- пользователь вводит поиск
- он отправляется на ваш сервер в ajax
- сервер может изменять поиск в зависимости от вашего приложения (фильтрация запрещенные слова или что-то еще)
- ваш сервер опрашивает веб-сервис ajax от google - не забудьте добавить параметр
get
userIp
, который необходим, чтобы избежать ограничений (google ограничивает входящие запросы от каждого пользователя, поэтому ваш сервер должен сообщить google, что он делает запрос от имени этогоuserIp
- вы отправляете обратно результаты клиенту, а затем используете javascript для их отображения
Google Custom Search (GCS) имеет бесплатный режим и платный ("корпоративный") режим.
Оба режима регулируются условиями предоставления услуг (пользовательские условия поиска услуг) - Убедитесь, что вы внимательно читаете.
Насколько я понимаю, вы можете использовать свободный режим и искать столько, сколько захотите. Поскольку google возвращает результаты, они также возвращают рекламу, поэтому им платят таким образом.
Платный режим дает вам доступ к API, и вы можете отключить рекламу. и делать другие вещи. Но за это приходится платить .
Я прочесывал документацию, термины и тому подобное-это действительно не лучшая работа Google. Но если вы используете его именно так, как они описывают, это довольно стандартно, на самом деле.
Зависит от размера вашего проекта и доступных средств, но вы можете получить GSA http://www.google.com/enterprise/search/products/gsa.html
Веб-сайт Dr Oz использует это для индексирования и извлечения результатов с партнерских сайтов, вы также можете включить результаты Google. Высоко настраиваемый с работами от ранжирования веса источника, фильтруя варианты к изготовленному на заказ выходу.