Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
30 октября 2020 г. API поиска Bing перемещены из служб ИИ Azure в службы поиска Bing. Эта документация предоставляется только для справки. С актуальной документацией можно ознакомиться в документации по API поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.
Используйте это краткое руководство, чтобы выполнить первый вызов API поиска сущностей Bing и просмотреть ответ JSON. Это простое приложение Python отправляет запрос поиска новостей в API и отображает ответ. Исходный код для этого примера доступен на GitHub.
Хотя это приложение написано на Python, API — это веб-служба RESTful, совместимая с большинством языков программирования.
Предпосылки
- Python 2.x или 3.x
Создание ресурса Azure
Начните использовать API поиска сущностей Bing, создав один из следующих ресурсов Azure.
ресурс поиска сущностей Bing
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.
- Поиск сущностей Bing также предлагается на платных уровнях ресурса Bing Search версии 7.
многофункциональный ресурс
- Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Создание и инициализация приложения
Создайте файл Python в любимой интегрированной среде разработки или редакторе и добавьте следующие импорты. Создайте переменные для ключа подписки, конечной точки, рынка и поискового запроса. Глобальную конечную точку можно использовать в следующем коде или использовать конечную точку пользовательского поддомена , отображаемую на портале Azure для ресурса.
import http.client, urllib.parse import json subscriptionKey = 'ENTER YOUR KEY HERE' host = 'api.bing.microsoft.com' path = '/v7.0/search' mkt = 'en-US' query = 'italian restaurants near me'Создайте URL-адрес запроса, добавив переменную рынка к параметру
?mkt=. Закодуйте запрос в формате URL и добавьте его в параметр&q=.params = '?mkt=' + mkt + '&q=' + urllib.parse.quote (query)
Отправка запроса и получение ответа
Создайте функцию с именем
get_suggestions().В этой функции добавьте ваш ключ подписки в словарь, используя
Ocp-Apim-Subscription-Keyв качестве ключа.Используется
http.client.HTTPSConnection()для создания клиентского объекта HTTPS.GETОтправьте запрос с вашим путем и параметрами, используяrequest(), а также заголовок.Сохраните ответ с помощью
getresponse()и вернитеresponse.read().def get_suggestions (): headers = {'Ocp-Apim-Subscription-Key': subscriptionKey} conn = http.client.HTTPSConnection (host) conn.request ("GET", path + params, None, headers) response = conn.getresponse () return response.read()Выполните вызов
get_suggestions()и выведите ответ в формате JSON.result = get_suggestions () print (json.dumps(json.loads(result), indent=4))
Пример ответа JSON
Успешный ответ возвращается в формате JSON, как показано в следующем примере:
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "italian restaurant near me",
"askUserForLocation": true
},
"places": {
"value": [
{
"_type": "LocalBusiness",
"webSearchUrl": "https://www.bing.com/search?q=sinful+bakery&filters=local...",
"name": "Liberty's Delightful Sinful Bakery & Cafe",
"url": "https://www.contoso.com/",
"entityPresentationInfo": {
"entityScenario": "ListItem",
"entityTypeHints": [
"Place",
"LocalBusiness"
]
},
"address": {
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98112",
"addressCountry": "US",
"neighborhood": "Madison Park"
},
"telephone": "(800) 555-1212"
},
. . .
{
"_type": "Restaurant",
"webSearchUrl": "https://www.bing.com/search?q=Pickles+and+Preserves...",
"name": "Munson's Pickles and Preserves Farm",
"url": "https://www.princi.com/",
"entityPresentationInfo": {
"entityScenario": "ListItem",
"entityTypeHints": [
"Place",
"LocalBusiness",
"Restaurant"
]
},
"address": {
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98101",
"addressCountry": "US",
"neighborhood": "Capitol Hill"
},
"telephone": "(800) 555-1212"
},
. . .
]
}
}