Краткое руководство. Вызов API Bing для поиска в Интернете с помощью Python

Предупреждение

30 октября 2020 г. API поиска Bing перемещены из служб ИИ Azure в службы поиска Bing. Эта документация предоставляется только для справки. С актуальной документацией можно ознакомиться в документации по API поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.

Используйте это краткое руководство, чтобы выполнить первый вызов API Bing для поиска в Интернете. Это приложение Python отправляет запрос поиска в API и отображает ответ JSON. Хотя это приложение написано на Python, API — это веб-служба RESTful, совместимая с большинством языков программирования.

Этот пример выполняется в виде записной книжки Jupyter в MyBinder. Чтобы запустить его, выберите значок привязки запуска:

Биндер

Предпосылки

  • #B0 Python 2.x или 3.x #C1

Создание ресурса Azure

Начните использовать API поиска в Интернете Bing, создав один из следующих ресурсов Azure:

Ресурс Поиска Bing версии 7

  • Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
  • Используйте бесплатный тарифный план, чтобы попробовать услугу, и перейдите на платный тариф для использования в работе.

Ресурс для нескольких служб

  • Доступен на портале Azure до тех пор, пока вы не удалите ресурс.
  • Используйте один и тот же ключ и конечную точку для приложений в нескольких службах ИИ Azure.

Определение переменных

  1. Замените subscription_key допустимым ключом подписки из учетной записи Azure.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Объявите конечную точку API Bing для поиска в Интернете. Глобальную конечную точку можно использовать в следующем коде или использовать конечную точку пользовательского поддомена , отображаемую на портале Azure для ресурса.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. При необходимости настройте поисковый запрос, заменив значение для search_term.

    search_term = "Azure Cognitive Services"
    

Создание запроса

Этот код использует библиотеку requests для вызова API Bing для поиска в Интернете и возврата результатов в виде объекта JSON. Ключ 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.

Дальнейшие шаги

См. также