Это можно сделать. Настройка ... не очень проста, но конечным результатом является то, что вы можете искать всю сеть с python с несколькими строками кода.
Всего 3 основных этапа.
первый шаг: получить Google API ключ
страница состояния pygoogle «s:
К сожалению, Google больше не поддерживает SOAP API для поиска, ни они предоставляют новые лицензионные ключи. Вкратце, PyGoogle довольно очень мертв на этом этапе.
Вместо этого вы можете использовать их API AJAX. Посмотрите здесь образец кода: http://dcortesi.com/2008/05/28/google-ajax-search-api-example-python-code/
... но вы на самом деле не может использовать AJAX API либо. Вам нужно получить ключ API Google. https://developers.google.com/api-client-library/python/guide/aaa_apikeys Для простого экспериментального использования я предлагаю «серверный ключ».
второго этап: установка Custom Search Engine, так что вы можете осуществлять поиск по всему Интернету
Действительно, старый API не доступен. Лучшим новым API, который доступен, является пользовательский поиск. Это, кажется, поддерживает только поиск в конкретных областях, однако после выполнения this SO answer вы можете осуществлять поиск по всему Интернету:
- На главной странице Google Custom Search (http://www.google.com/cse/), нажмите кнопку Создать систему пользовательского поиска.
- Введите название и описание вашей поисковой системы.
- В разделе Определение вашей поисковой системы в поле «Сайты для поиска» введите хотя бы один действительный URL-адрес (на данный момент просто поместите www.anyurl.com, чтобы получить .
- Выберите вариант CSE, который вы хотите, и примите Условия использования, затем нажмите «Далее». Выберите нужный вариант макета, а затем нажмите Далее.
- Нажмите любую ссылку в разделе «Следующие шаги», чтобы перейти к панели управления.
- В левом меню в разделе «Панель управления» выберите «Основы».
- В разделе «Настройки поиска» выберите «Поиск по всей сети», но выделите включенные сайты.
- Нажмите «Сохранить изменения».
- В левом меню в разделе «Панель управления» выберите «Сайты».
- Удалите сайт, который вы ввели в процессе начальной настройки.
Этот подход также Google рекомендовал: https://support.google.com/customsearch/answer/2631040
третий шаг: установить клиент API Google для Python
pip install google-api-python-client
, подробнее здесь:
четвёртого шаг (бонус): сделать поиск
Итак, после установки этого, вы можете следовать образцам кода из нескольких мест:
и в конечном итоге с этим:
from googleapiclient.discovery import build
import pprint
my_api_key = "Google API key"
my_cse_id = "Custom Search Engine ID"
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch", "v1", developerKey=api_key)
res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()
return res['items']
results = google_search(
'stackoverflow site:en.wikipedia.org', my_api_key, my_cse_id, num=10)
for result in results:
pprint.pprint(result)
После некоторых настройки вы могли бы написать некоторые функции, которые ведут себя так же, как ваш сниппет, но я пропущу этот шаг здесь.
Похоже, что пользовательский поиск возвращает результаты кэширования, которые не синхронизированы с последними найденными Google? – Alex