Краткое руководство. Отправка запроса в API Bing Local Business Search с помощью Python
Предупреждение
30 октября 2020 г. API Поиск Bing перенесены из служб ИИ Azure в Поиск Bing Services. Эта документация приводится только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.
Из этого краткого руководства вы узнаете, как отправлять запросы в API Поиска местных компаний Bing в Azure Cognitive Services. Это простое приложение написано на Python. Но API является веб-службой RESTful, совместимой с любым языком программирования, который может выполнять HTTP-запросы и анализировать данные в формате JSON.
В этом примере приложения из API извлекаются сведения о местных компаниях по поисковому запросу.
Предварительные требования
- подписка Azure — создайте бесплатную учетную запись.
- Python версии 2.x или 3.x.
- Получив подписку Azure, создайте ресурс Поиск Bing в портал Azure, чтобы получить ключ и конечную точку. После развертывания щелкните Перейти к ресурсам.
Запуск готового приложения
В следующем примере возвращаются локализованные результаты, которые реализуются в следующих действиях:
- Объявите переменные для указания конечной точки с помощью узла и пути.
- Задайте параметр запроса.
- Определите функцию поиска, которая отвечает за создание запроса и добавление заголовка
Ocp-Apim-Subscription-Key
. - Установите заголовок
Ocp-Apim-Subscription-Key
. - Установите подключение и отправьте запрос.
- Выведите на экран результаты JSON.
Полный код этого примера выглядит так:
import http.client, urllib.parse
import json
# Replace the subscriptionKey string value with your valid subscription key.
subscriptionKey = 'YOUR-SUBSCRIPTION-KEY'
host = 'api.cognitive.microsoft.com'
path = '/bing/v7.0/localbusinesses/search'
query = 'restaurant in Bellevue'
params = '?q=' + urllib.parse.quote (query) + '&mkt=en-us'
def get_local():
headers = {'Ocp-Apim-Subscription-Key': subscriptionKey}
conn = http.client.HTTPSConnection (host)
conn.request ("GET", path + params, None, headers)
response = conn.getresponse ()
return response.read ()
result = get_local()
print (json.dumps(json.loads(result), indent=4))