Краткое руководство. Вызов API Bing для поиска в Интернете с использованием Python
Предупреждение
30 октября 2020 г. API-интерфейсы Поиск Bing перемещены из служб ИИ Azure в службы Поиск Bing. Эта документация приводится только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.
Используйте это краткое руководство, чтобы вызвать API Поиска в Интернете Bing. Это приложение Python отправляет поисковый запрос к API и показывает ответ в формате JSON. Это приложение создано на языке Python. Но API представляет собой веб-службу на основе REST, совместимую с большинством языков программирования.
Этот пример запускается как записная книжка Jupyter в MyBinder. Чтобы запустить его, щелкните эмблему запуска Binder.
Предварительные требования
Создание ресурса Azure
Чтобы начать работу с API Поиска в Интернете Bing, создайте один из следующих ресурсов Azure.
- доступен на портале Azure до удаления.
- Используйте бесплатную ценовую категорию, чтобы опробовать службу, а затем выполните обновление до платного уровня для рабочей среды.
- доступен на портале Azure до удаления.
- Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.
Определение переменных
Замените значение
subscription_key
действительным ключом подписки из своей учетной записи Azure.subscription_key = "YOUR_ACCESS_KEY" assert subscription_key
Объявите конечную точку API Bing для поиска в Интернете. Вы можете использовать глобальную конечную точку, указанную в коде ниже, или конечную точку личного поддомена, которая отображается на портале Azure для вашего ресурса.
search_url = "https://api.bing.microsoft.com/v7.0/search"
Кроме того, вы можете настроить поисковый запрос, заменив значение параметра
search_term
.search_term = "Azure Cognitive Services"
Выполнение запроса
В этом коде для вызова API Поиска в Интернете Bing и получения результатов в виде объекта JSON используется библиотека requests
. Ключ API передается в словарь headers
, а условие поиска и параметры запроса — в словарь params
.
Полный список вариантов и параметров см. в разделе API Поиска в Интернете Bing версии 7.
import requests
headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()
Форматирование и отображение ответа
Объект search_results
включает результаты поиска и метаданные, описывающие связанные запросы и страницы. Этот код использует библиотеку IPython.display
, чтобы форматировать и отображать ответ в браузере.
from IPython.display import HTML
rows = "\n".join(["""<tr>
<td><a href=\"{0}\">{1}</a></td>
<td>{2}</td>
</tr>""".format(v["url"], v["name"], v["snippet"])
for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))
Пример кода в GitHub
Чтобы выполнить этот код локально, см. полный пример на сайте GitHub.