Inicio rápido: Realizar una búsqueda de noticias mediante Python y la API de REST de Bing News Search

Advertencia

El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. 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 News Search. Esta sencilla aplicación de Python envía una consulta de búsqueda a la API y procesa el resultado 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.

Para ejecutar este ejemplo de código como un cuaderno de Jupyter Notebook en MyBinder, seleccione el distintivo launch binder:

launch binder

El código fuente del ejemplo está también disponible en GitHub.

Creación de un recurso de Azure

Comience a usar la API Bing News 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.
  • Utilice la misma clave y el mismo punto de conexión para sus aplicaciones en varios servicios de Azure AI.

Creación e inicialización de la aplicación

Cree un nuevo archivo de Python en el IDE o editor que prefiera e importe el módulo de solicitud. Cree variables para la clave de suscripción, un punto de conexión y un término de búsqueda. 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.

import requests

subscription_key = "your subscription key"
search_term = "Microsoft"
search_url = "https://api.cognitive.microsoft.com/bing/v7.0/news/search"

Creación de parámetros para la solicitud

Agregue la clave de suscripción a un nuevo diccionario con Ocp-Apim-Subscription-Key como clave. Haga lo mismo para los parámetros de búsqueda.

headers = {"Ocp-Apim-Subscription-Key" : subscription_key}
params  = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}

Envío de una solicitud y obtención de una respuesta

  1. Utilice la biblioteca de solicitudes para llamar a la API Bing Visual Search con su clave de suscripción y los objetos de diccionario que se crearon en el paso anterior.

    response = requests.get(search_url, headers=headers, params=params)
    response.raise_for_status()
    search_results = json.dumps(response.json())
    
  2. Acceda a las descripciones de los artículos contenidos en la respuesta de la API, que se almacena en search_results como un objeto JSON.

    descriptions = [article["description"] for article in search_results["value"]]
    

Mostrar los resultados

A continuación, estas descripciones se pueden representar como una tabla con la palabra clave de búsqueda resaltada en negrita.

from IPython.display import HTML
rows = "\n".join(["<tr><td>{0}</td></tr>".format(desc)
                  for desc in descriptions])
HTML("<table>"+rows+"</table>")

Pasos siguientes