Inicio rápido: Uso de la biblioteca cliente de Bing Custom 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.

Introducción a la biblioteca cliente de Bing Custom Search para C#. Siga estos pasos para instalar el paquete y probar el código de ejemplo para realizar tareas básicas. Bing Custom Search API le permite crear experiencias de búsqueda a medida y sin anuncios para los temas que le interesan. El código fuente de este ejemplo está disponible en GitHub.

Use la biblioteca cliente de Bing Custom Search para C# para:

  • Buscar los resultados de la búsqueda en la Web, desde la instancia de Bing Custom Search.

Documentación de referencia | Código fuente de la biblioteca | Paquete (NuGet) | Ejemplos

Prerrequisitos

  • Una instancia de Bing Custom Search. Consulte Quickstart: Creación de la primera instancia de Bing Custom Search para obtener más información.
  • Microsoft .NET Core
  • Cualquier edición de Visual Studio 2017 o versiones posteriores.
  • Si usa Linux/MacOS, esta aplicación puede ejecutarse con Mono.
  • El paquete Bing Custom Search de NuGet.
    • En el Explorador de soluciones de Visual Studio, haga clic con el botón derecho en el proyecto y seleccione Administrar paquetes NuGet en el menú. Instale el paquete Microsoft.Azure.CognitiveServices.Search.CustomSearch. Al instalar el paquete NuGet Custom Search, también se instalarán los ensamblados siguientes:
      • Microsoft.Rest.ClientRuntime
      • Microsoft.Rest.ClientRuntime.Azure
      • Newtonsoft.Json

Creación de un recurso de Azure

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

Recurso de Bing Custom Search

  • 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

  1. Cree una aplicación de consola en C# mediante Visual Studio. Agregue los siguientes paquetes al proyecto.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.CustomSearch;
    
  2. En el método Main de la aplicación, cree una instancia del cliente de búsqueda con la clave de API.

    var client = new CustomSearchAPI(new ApiKeyServiceClientCredentials("YOUR-SUBSCRIPTION-KEY"));
    

Envío de la solicitud de búsqueda y recepción de la respuesta

  1. Envíe una consulta de búsqueda con el método SearchAsync() del cliente y guarde la respuesta. No olvide reemplazar YOUR-CUSTOM-CONFIG-ID por el identificador de configuración de la instancia (encontrará el identificador en el portal de Bing Custom Search). En este ejemplo se busca "Xbox".

    // This will look up a single query (Xbox).
    var webData = client.CustomInstance.SearchAsync(query: "Xbox", customConfig: Int32.Parse("YOUR-CUSTOM-CONFIG-ID")).Result;
    
  2. El método SearchAsync() devuelve un objeto WebData. Use el objeto para iterar por cualquier WebPages que se encuentre. Este código busca el primer resultado de página web e imprime los valores de Name y URL de la página web.

    if (webData?.WebPages?.Value?.Count > 0)
    {
        // find the first web page
        var firstWebPagesResult = webData.WebPages.Value.FirstOrDefault();
    
        if (firstWebPagesResult != null)
        {
            Console.WriteLine("Number of webpage results {0}", webData.WebPages.Value.Count);
            Console.WriteLine("First web page name: {0} ", firstWebPagesResult.Name);
            Console.WriteLine("First web page URL: {0} ", firstWebPagesResult.Url);
        }
        else
        {
            Console.WriteLine("Couldn't find web results!");
        }
    }
    else
    {
        Console.WriteLine("Didn't see any Web data..");
    }
    

Pasos siguientes

Introducción a la biblioteca de cliente de Bing Custom Search para Java. Siga estos pasos para instalar el paquete y probar el código de ejemplo para realizar tareas básicas. Bing Custom Search API le permite crear experiencias de búsqueda a medida y sin anuncios para los temas que le interesan. El código fuente correspondiente a este ejemplo se encuentra disponible en GitHub.

Use la biblioteca de cliente de Bing Custom Search para Java para:

  • Buscar los resultados de la búsqueda en la Web, desde la instancia de Bing Custom Search.

Documentación de referencia | Código fuente de la biblioteca | Artifact (Maven) | Ejemplos

Requisitos previos

Creación de un recurso de Azure

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

Recurso de Bing Custom Search

  • 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.

Después de obtener una clave del recurso, cree una variable de entorno para la clave, llamada AZURE_BING_CUSTOM_SEARCH_API_KEY.

Creación de un proyecto de Gradle

Sugerencia

Si no usa Gradle, puede encontrar la biblioteca de cliente y la información de otros administradores de dependencias en el repositorio central de Maven.

En una ventana de la consola (como cmd, PowerShell o Bash), cree un directorio para la aplicación y vaya a él.

mkdir myapp && cd myapp

Ejecute el comando gradle init desde el directorio de trabajo. Este comando crea archivos de compilación esenciales para Gradle, incluido un archivo build.gradle.kts que se utiliza en tiempo de ejecución para configurar la aplicación.

gradle init --type basic

Cuando se le solicite que elija un DSL, seleccione Kotlin.

Instalación de la biblioteca cliente

Busque build.gradle.kts y ábralo con el IDE o el editor de texto que prefiera. A continuación, se copia en esta configuración de compilación. Asegúrese de incluir la biblioteca de cliente en dependencies:

plugins {
    java
    application
}
application {
    mainClassName = "main.java.BingCustomSearchSample"
}
repositories {
    mavenCentral()
}
dependencies {
    compile("org.slf4j:slf4j-simple:1.7.25")
    compile("com.microsoft.azure.cognitiveservices:azure-cognitiveservices-customsearch:1.0.2")
}

Cree una carpeta para la aplicación de ejemplo. En el directorio de trabajo, ejecute el siguiente comando:

mkdir src/main/java

Vaya a la nueva carpeta y cree un archivo llamado BingCustomSearchSample.java. Ábralo y agregue las siguientes instrucciones import:

package main.java;

import com.microsoft.azure.cognitiveservices.search.customsearch.BingCustomSearchAPI;
import com.microsoft.azure.cognitiveservices.search.customsearch.BingCustomSearchManager;
import com.microsoft.azure.cognitiveservices.search.customsearch.models.SearchResponse;
import com.microsoft.azure.cognitiveservices.search.customsearch.models.WebPage;

Cree una clase llamada BingCustomSearchSample.

public class BingCustomSearchSample {
}

En la clase, cree un método main y una variable para la clave del recurso. Si ha creado la variable de entorno después de haber iniciado la aplicación, cierre y vuelva a abrir el editor, el IDE o el shell que lo ejecuta para acceder a la variable. Los métodos se definirán más adelante.

public static void main(String[] args) {
    try {

        // Set the BING_CUSTOM_SEARCH_SUBSCRIPTION_KEY and AZURE_BING_SAMPLES_CUSTOM_CONFIG_ID environment variables, 
        // then reopen your command prompt or IDE. If not, you may get an API key not found exception.
        final String subscriptionKey = System.getenv("BING_CUSTOM_SEARCH_SUBSCRIPTION_KEY");
        // If you do not have a customConfigId, you can also use 1 as your value when setting your environment variable.
        final String customConfigId = System.getenv("AZURE_BING_SAMPLES_CUSTOM_CONFIG_ID");

        BingCustomSearchAPI client = BingCustomSearchManager.authenticate(subscriptionKey);

        runSample(client, customConfigId);
    } catch (Exception e) {
        System.out.println(e.getMessage());
        e.printStackTrace();
    }
}

Modelo de objetos

El cliente de Bing Custom Search es un objeto BingCustomSearchAPI que se crea a partir del método authenticate() del objeto BingCustomSearchManager. Puede enviar una solicitud de búsqueda usando el método BingCustomInstances.search() del cliente.

La respuesta de la API es un objeto SearchResponse que contiene información sobre la consulta de búsqueda y los resultados de la búsqueda.

Ejemplos de código

En estos fragmentos de código se muestra cómo realizar las siguientes tareas con la biblioteca de cliente de Bing Custom Search para Java:

Autenticar el cliente

El método Main debe incluir un objeto BingCustomSearchManager que toma la clave y llama a su authenticate().

BingCustomSearchAPI client = BingCustomSearchManager.authenticate(subscriptionKey);

Obtener los resultados de la búsqueda de la instancia de búsqueda personalizada

Use la función BingCustomInstances.Search() del cliente para enviar una consulta de búsqueda a la instancia personalizada. Establezca el valor de withCustomConfig en el identificador de configuración personalizado, o establezca 1 como valor predeterminado. Después de obtener una respuesta de la API, compruebe si se encontraron resultados de la búsqueda. Si es así, obtenga el primer resultado de la búsqueda; para ello, llame a la función webPages().value().get() de la respuesta e imprima el nombre del resultado y la dirección URL.

public static boolean runSample(BingCustomSearchAPI client, String customConfigId) {
    try {

        // This will search for "Xbox" using Bing Custom Search 
        //and print out name and url for the first web page in the results list

        System.out.println("Searching for Query: \"Xbox\"");
        SearchResponse webData = client.bingCustomInstances().search()
            .withCustomConfig(customConfigId != null ? Long.valueOf(customConfigId) : 0)
            .withQuery("Xbox")
            .withMarket("en-us")
            .execute();

        if (webData != null && webData.webPages() != null && webData.webPages().value().size() > 0)
        {
            // find the first web page
            WebPage firstWebPagesResult = webData.webPages().value().get(0);

            if (firstWebPagesResult != null) {
                System.out.println(String.format("Webpage Results#%d", webData.webPages().value().size()));
                System.out.println(String.format("First web page name: %s ", firstWebPagesResult.name()));
                System.out.println(String.format("First web page URL: %s ", firstWebPagesResult.url()));
            } else {
                System.out.println("Couldn't find web results!");
            }
        } else {
            System.out.println("Didn't see any Web data..");
        }

        return true;
    } catch (Exception f) {
        System.out.println(f.getMessage());
        f.printStackTrace();
    }
    return false;
}

Ejecución de la aplicación

Compile la aplicación con el siguiente comando desde el directorio principal del proyecto:

gradle build

Ejecute la aplicación con el objetivo run:

gradle run

Limpieza de recursos

Si quiere limpiar y eliminar una suscripción de servicios de Azure AI, puede eliminar el recurso o el grupo de recursos. Al eliminar el grupo de recursos, también se elimina cualquier otro recurso que esté asociado a él.

Pasos siguientes

Introducción a la biblioteca de cliente de Bing Custom Search para Python. Siga estos pasos para instalar el paquete y probar el código de ejemplo para realizar tareas básicas. Bing Custom Search API le permite crear experiencias de búsqueda a medida y sin anuncios para los temas que le interesan. El código fuente de este ejemplo se puede encontrar en GitHub.

Use la biblioteca de cliente de Bing Custom Search para Python para:

  • Buscar los resultados de la búsqueda en la Web, desde la instancia de Bing Custom Search.

Documentación de referencia | Código fuente de la biblioteca | Paquete (PyPi) | Ejemplos

Prerrequisitos

Creación de un recurso de Azure

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

Recurso de Bing Custom Search

  • 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.

Instalación de la biblioteca cliente de Python

Instale la biblioteca cliente de Bing Custom Search con el siguiente comando.

python -m pip install azure-cognitiveservices-search-customsearch

Creación de una aplicación

Cree un archivo de Python en el IDE o editor que prefiera y agregue las siguientes importaciones.

from azure.cognitiveservices.search.customsearch import CustomSearchClient
from msrest.authentication import CognitiveServicesCredentials

Creación de un cliente de búsqueda y envío de una solicitud

  1. Cree una variable para la clave y el punto de conexión de la suscripción.

    subscription_key = 'your-subscription-key'
    endpoint = 'your-endpoint'
    
  2. Cree una instancia de CustomSearchClient con un objeto CognitiveServicesCredentials mediante la clave de suscripción.

    client = CustomSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  3. Envíe una solicitud de búsqueda con client.custom_instance.search(). Anexe el término de búsqueda al parámetro query y establezca custom_config en el identificador de configuración personalizada para usar la instancia de búsqueda. Puede obtener el identificador en el portal de Bing Custom Search, donde debe hacer clic en la pestaña Producción.

    web_data = client.custom_instance.search(query="xbox", custom_config="your-configuration-id")
    

Visualización de los resultados de la búsqueda

Si se encuentran algunos resultados de la búsqueda de páginas web, obtenga el primero e imprima su nombre, la dirección URL y las páginas web totales encontradas.

if web_data.web_pages.value:
    first_web_result = web_data.web_pages.value[0]
    print("Web Pages result count: {}".format(len(web_data.web_pages.value)))
    print("First Web Page name: {}".format(first_web_result.name))
    print("First Web Page url: {}".format(first_web_result.url))
else:
    print("Didn't see any web data..")

Pasos siguientes