Inicio rápido: Uso de Python para llamar a Bing Web Search API

Advertencia

El 30 de octubre de 2020, las API de Bing Search se movieron de Cognitive Services a Bing Search Services. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.

Use este inicio rápido para realizar la primera llamada a la API Bing Web Search. Esta aplicación de Python envía una solicitud de búsqueda a la API y muestra la respuesta JSON. Aunque esta aplicación está escrita en Python, la API es un servicio web RESTful compatible con la mayoría de los lenguajes de programación.

En este ejemplo se ejecuta como una instancia de Jupyter Notebook en MyBinder. Para ejecutarla seleccione el distintivo launch binder:

Binder

Requisitos previos

Creación de un recurso de Azure

Comience a usar la API Bing Web Search mediante la creación de uno de los recursos de Azure que se indican a continuación:

Recurso de Bing Search v7

  • Disponible en Azure Portal hasta que lo elimine.
  • Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.

Recurso de varios servicios

  • Disponible en Azure Portal hasta que lo elimine.
  • Use la misma clave y el mismo punto de conexión para las aplicaciones en varios servicios de Cognitive Services.

Definición de variables

  1. Reemplace el valor subscription_key por una clave de suscripción válida de su cuenta de Azure.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Declare el punto de conexión de Bing Web Search API. Puede usar el punto de conexión global en el código siguiente, o el punto de conexión del subdominio personalizado que se muestra en Azure Portal para el recurso.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. De forma opcional puede personalizar la consulta de búsqueda reemplazando el valor de search_term.

    search_term = "Azure Cognitive Services"
    

Realización de una solicitud

Este código usa la biblioteca requests para llamar a la API Bing Web Search y devolver los resultados como objeto JSON. La clave de API se pasa en el diccionario headers y el término de búsqueda y los parámetros de consulta se pasan en el diccionario params.

Para obtener una lista completa de opciones y parámetros consulte Bing Web Search API v7.

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()

Formato y presentación de la respuesta

El objeto search_results incluye los resultados de la búsqueda, y dichos metadatos como consultas y páginas relacionadas. Este código utiliza la biblioteca IPython.display para dar formato y mostrar la respuesta en el explorador.

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))

Código de ejemplo en GitHub

Para ejecutar este código localmente, consulte el ejemplo completo que está disponible en GitHub.

Pasos siguientes

Consulte también