Использование Google Search API с Python

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

Это имеет значение. Это означает, что в Google существует множество полезных данных, и это требует очистки этих золотых данных. Полученные данные можно использовать для качественного анализа данных и открытия замечательных идей. Это также может быть важно для получения большой исследовательской информации с одной попытки.

Говоря о парсинге, это можно сделать с помощью сторонних инструментов. Это также можно сделать с помощью библиотеки Python, известной как Scrapy. Scrapy считается одним из лучших инструментов для очистки и может использоваться для очистки практически любой веб-страницы. Вы можете узнать больше о библиотеке Scrapy.

Однако, независимо от сильных сторон этой замечательной библиотеки. Сбор данных в Google может оказаться сложной задачей. Google жестко пресекает любые попытки парсинга веб-страниц, гарантируя, что скрипты парсинга не сделают даже 10 запросов на парсинг за час до того, как IP-адрес будет заблокирован. Это делает сторонние и личные скрипты парсинга веб-страниц бесполезными.

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

На тот случай, если вы еще не знаете, что такое интерфейс прикладного программирования, беспокоиться не о чем, поскольку я Дам краткое пояснение. По определению, API — это набор функций и процедур, которые позволяют создавать приложения, которые получают доступ к функциям или данным операционной системы, приложения или другой службы. По сути, API позволяет вам получить доступ к конечному результату процессов, не участвуя в этих процессах. Например, API температуры предоставит вам значения Цельсия/Фаренгейта для места без необходимости идти туда с термометром, чтобы сделать измерения самостоятельно.

Внесение этого в область сбора информации от Google, API, который мы будем использовать, позволяет нам получить доступ к необходимой информации без необходимости писать какой-либо скрипт для очистки страницы результатов поиска Google. Через API мы можем просто получить доступ к конечному результату (после того, как Google выполнит «парсинг» на их конце) без написания кода для очистки веб-страниц.

Хотя у Google есть множество API для Для разных целей мы будем использовать JSON API пользовательского поиска в этой статье. Более подробную информацию об этом API можно найти здесь.

Этот API позволяет нам делать 100 поисковых запросов в день бесплатно, с тарифными планами, доступными для выполнения дополнительных запросов при необходимости..

Чтобы использовать JSON API пользовательского поиска, нам потребуется идентификатор системы пользовательского поиска. Однако сначала нам нужно создать систему пользовательского поиска, что можно сделать здесь.

Когда вы посещаете страницу системы пользовательского поиска, нажмите кнопку «Добавить», чтобы создать новую поисковую систему.

В поле «Сайты для поиска» просто введите «www.linuxhint.com», а в поле «Название поисковой системы» введите любое описательное имя по вашему выбору (Google было бы предпочтительнее).

Теперь нажмите «Создать», чтобы создать систему пользовательского поиска, и нажмите кнопку «Панель управления» на странице, чтобы подтвердить успешность создания.

Вы увидите раздел «Идентификатор поисковой системы» и идентификатор под ним, это идентификатор, который нам понадобится для API, и мы будем ссылаться на него позже в этом руководстве. Идентификатор поисковой системы должен оставаться закрытым.

Прежде чем мы уйдем, не забудьте, что мы ранее ввели «www.linuhint.com». С этой настройкой мы будем получать результаты только с сайта. Если вы хотите получить нормальные результаты полного веб-поиска, нажмите «Настройка» в меню слева, а затем нажмите вкладку «Основные». Перейдите в раздел «Поиск по всему Интернету» и включите эту функцию.

Создание ключа API

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

Чтобы создать ключ API, посетите сайт и нажмите «Получить A Key ».

Создайте новый проект и дайте ему описательное имя. При нажатии кнопки «Далее» будет сгенерирован ключ API.

На следующей странице у нас будут другие параметры настройки, которые не нужны для этого руководства, поэтому вы просто нажимаете кнопку «Сохранить», и мы готовы к работе.

Доступ к API

Мы хорошо справились с получением идентификатора пользовательского поиска и ключа API. Далее мы собираемся использовать API.

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

Чтобы иметь доступ к API с помощью Python, вам необходимо установить клиент Google API для Python. Его можно установить с помощью пакета установки pip с помощью следующей команды:

pip install google-api-python-client

После успешной установки вы можете импортировать библиотеку в наш код.

Большая часть того, что будет сделано, будет выполняться с помощью функции ниже:

из сборки импорта googleapiclient.discovery
my_api_key = «Your API Key»
my_cse_id = «Your CSE 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

В приведенной выше функции my_api_key и my_cse_id переменные следует заменить на ключ API и идентификатор поисковой системы, соответственно, в виде строковых значений.

Все, что нужно сделать сейчас, — это вызвать функцию, передавая поисковый запрос, ключ api и cse id.

result = google_search («Кофе», my_api_key, my_cse_id)
print (result)

Приведенный выше вызов функции будет искать ключевое слово «Кофе» и присваивать возвращаемое значение переменной result , которая затем печатается. Объект JSON возвращается API пользовательского поиска, поэтому для дальнейшего анализа полученного объекта потребуется небольшое знание JSON.

Это можно увидеть из образца результата, как показано ниже:

Возвращенный выше объект JSON очень похож на результат из поиска Google:

Резюме

Поиск информации в Google на самом деле не стоит стресса. API пользовательского поиска упрощает жизнь для всех, поскольку единственная трудность заключается в синтаксическом анализе объекта JSON на предмет необходимой информации. Напоминаем, что всегда не забывайте хранить в секрете значения идентификатора системы пользовательского поиска и ключей API.

Оцените статью
nanomode.ru
Добавить комментарий