Inicio rápido: Uso de Python para llamar a Bing Web Search APIQuickstart: Use Python to call the Bing Web Search API

Advertencia

Las Bing Search API se mueven de Cognitive Services a Bing Search Services.Bing Search APIs are moving from Cognitive Services to Bing Search Services. A partir del 30 de octubre de 2020, las nuevas instancias de Bing Search deben aprovisionarse siguiendo el proceso documentado aquí.Starting October 30, 2020, any new instances of Bing Search need to be provisioned following the process documented here. El aprovisionamiento de Bing Search APIs con Cognitive Services será posible durante los próximos tres años o hasta que finalice el Contrato Enterprise, lo que suceda primero.Bing Search APIs provisioned using Cognitive Services will be supported for the next three years or until the end of your Enterprise Agreement, whichever happens first. Puede encontrar instrucciones sobre la migración en Bing Search Services.For migration instructions, see Bing Search Services.

Use este inicio rápido para realizar la primera llamada a la API Bing Web Search.Use this quickstart to make your first call to the Bing Web Search API. Esta aplicación de Python envía una solicitud de búsqueda a la API y muestra la respuesta JSON.This Python application sends a search request to the API, and shows the JSON response. 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.Although this application is written in Python, the API is a RESTful Web service compatible with most programming languages.

En este ejemplo se ejecuta como una instancia de Jupyter Notebook en MyBinder.This example is run as a Jupyter notebook on MyBinder. Para ejecutarla seleccione el distintivo launch binder:To run it, select the launch binder badge:

BinderBinder

PrerrequisitosPrerequisites

Creación de un recurso de AzureCreate an Azure resource

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:Start using the Bing Web Search API by creating one of the following Azure resources:

Recurso de Bing Search v7Bing Search v7 resource

  • Disponible en Azure Portal hasta que lo elimine.Available through the Azure portal until you delete the resource.
  • Use el plan de tarifa gratuito para probar el servicio y actualícelo más adelante a un nivel de pago para producción.Use the free pricing tier to try the service, and upgrade later to a paid tier for production.

Recurso de varios serviciosMulti-service resource

  • Disponible en Azure Portal hasta que lo elimine.Available through the Azure portal until you delete the resource.
  • Use la misma clave y el mismo punto de conexión para las aplicaciones en varios servicios de Cognitive Services.Use the same key and endpoint for your applications, across multiple Cognitive Services.

Definición de variablesDefine variables

  1. Reemplace el valor subscription_key por una clave de suscripción válida de su cuenta de Azure.Replace the subscription_key value with a valid subscription key from your Azure account.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Declare el punto de conexión de Bing Web Search API.Declare the Bing Web Search API endpoint. 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.You can use the global endpoint in the following code, or use the custom subdomain endpoint displayed in the Azure portal for your resource.

    search_url = "https://api.cognitive.microsoft.com/bing/v7.0/search"
    
  3. De forma opcional puede personalizar la consulta de búsqueda reemplazando el valor de search_term.Optionally, customize the search query by replacing the value for search_term.

    search_term = "Azure Cognitive Services"
    

Realización de una solicitudMake a request

Este código usa la biblioteca requests para llamar a la API Bing Web Search y devolver los resultados como objeto JSON.This code uses the requests library to call the Bing Web Search API and return the results as a JSON object. 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.The API key is passed in the headers dictionary, and the search term and query parameters are passed in the params dictionary.

Para obtener una lista completa de opciones y parámetros consulte Bing Web Search API v7.For a complete list of options and parameters, see 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 respuestaFormat and display the response

El objeto search_results incluye los resultados de la búsqueda, y dichos metadatos como consultas y páginas relacionadas.The search_results object includes the search results, and such metadata as related queries and pages. Este código utiliza la biblioteca IPython.display para dar formato y mostrar la respuesta en el explorador.This code uses the IPython.display library to format and display the response in your browser.

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 GitHubSample code on GitHub

Para ejecutar este código localmente, consulte el ejemplo completo que está disponible en GitHub.To run this code locally, see the complete sample available on GitHub.

Pasos siguientesNext steps

Consulte tambiénSee also