Inicio rápido: Uso de la biblioteca cliente 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.
Este inicio rápido para empezar a buscar noticias con la biblioteca cliente de Bing News Search para C#. Aunque Bing News Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
Cualquier edición de Visual Studio 2017 o versiones posteriores.
El marco Json.NET, disponible como un paquete NuGet.
Si usa Linux/MacOS, esta aplicación puede ejecutarse con Mono.
El paquete NuGet del SDK de Bing News Search. La instalación de este paquete también instala lo siguiente:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Para configurar una aplicación de consola con la biblioteca cliente de Bing News Search, vaya a la opción Manage NuGet Packages
del Explorador de soluciones en Visual Studio. Agregue el paquete Microsoft.Azure.CognitiveServices.Search.NewsSearch
.
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:
- 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.
- 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 un proyecto
Cree una solución de consola de C# en Visual Studio. Después, agregue lo siguiente en el archivo de código principal.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
Cree una variable para la clave de API y un término de búsqueda y, a continuación, cree una instancia del cliente de búsqueda de noticias con ellos.
var key = "YOUR-ACCESS-KEY"; var searchTerm = "Quantum Computing"; var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
Envío de una solicitud y análisis del resultado
Use el cliente para enviar una solicitud de búsqueda al servicio Bing News Search:
var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
Si se devolvió algún resultado, analícelo:
if (newsResults.Value.Count > 0) { var firstNewsResult = newsResults.Value[0]; Console.WriteLine($"TotalEstimatedMatches value: {newsResults.TotalEstimatedMatches}"); Console.WriteLine($"News result count: {newsResults.Value.Count}"); Console.WriteLine($"First news name: {firstNewsResult.Name}"); Console.WriteLine($"First news url: {firstNewsResult.Url}"); Console.WriteLine($"First news description: {firstNewsResult.Description}"); Console.WriteLine($"First news published time: {firstNewsResult.DatePublished}"); Console.WriteLine($"First news provider: {firstNewsResult.Provider[0].Name}"); } else { Console.WriteLine("Couldn't find news results!"); } Console.WriteLine("Enter any key to exit..."); Console.ReadKey();
Pasos siguientes
Este inicio rápido para empezar a buscar noticias con la biblioteca cliente de Bing News Search para Java. Aunque Bing News Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
Instale las dependencias de la biblioteca cliente de Bing News Search mediante Maven, Gradle o cualquier otro sistema de administración de dependencias. El archivo POM de Maven requiere la declaración siguiente:
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-newssearch</artifactId>
<version>0.0.1-beta-SNAPSHOT</version>
</dependency>
</dependencies>
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:
- 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.
- 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 un proyecto
Cree un proyecto de Java en su IDE o editor favorito e importe las bibliotecas siguientes.
import com.microsoft.azure.cognitiveservices.newssearch.*;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsInner;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.NewsSearchAPIImpl;
import com.microsoft.azure.cognitiveservices.newssearch.implementation.TrendingTopicsInner;
import com.microsoft.rest.credentials.ServiceClientCredentials;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
Creación de un cliente de búsqueda y almacenamiento de credenciales
Cree un método llamado
getClient()
que devuelve un nuevo cliente de búsquedaNewsSearchAPIImpl
. Agregue el punto de conexión como primer parámetro del nuevo objetoNewsSearchAPIImpl
y un nuevo objetoServiceClientCredentials
para almacenar las credenciales.public static NewsSearchAPIImpl getClient(final String subscriptionKey) { return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { }); }
Para crear el objeto
ServiceClientCredentials
, reemplace la funciónapplyCredentialsFilter()
. PaseOkHttpClient.Builder
al método y use el métodoaddNetworkInterceptor()
del generador para crear las credenciales para la llamada a la biblioteca cliente.new ServiceClientCredentials() { @Override public void applyCredentialsFilter(OkHttpClient.Builder builder) { builder.addNetworkInterceptor( new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request request = null; Request original = chain.request(); // Request customization: add request headers. Request.Builder requestBuilder = original.newBuilder() .addHeader("Ocp-Apim-Subscription-Key", subscriptionKey); request = requestBuilder.build(); return chain.proceed(request); } }); } });
Envío y recepción de una solicitud de búsqueda
Cree un método que llame a
getClient()
y envíe una solicitud de búsqueda al servicio Bing News Search. Filtre la búsqueda por los parámetros market y count y, a continuación, imprima la información sobre el primer resultado de noticias: nombre, dirección URL, fecha de publicación, descripción, nombre del proveedor y número total de coincidencias estimadas para la búsqueda.public static void newsSearch(String subscriptionKey) { NewsSearchAPIImpl client = getClient(subscriptionKey); String searchTerm = "Quantum Computing"; NewsInner newsResults = client.searchs().list(searchTerm, null, null, null, null, null, 100, null, "en-us", null, null, null, null, null, null, null); if (newsResults.value().size() > 0) { NewsArticle firstNewsResult = newsResults.value().get(0); System.out.println(String.format("TotalEstimatedMatches value: %d", newsResults.totalEstimatedMatches())); System.out.println(String.format("News result count: %d", newsResults.value().size())); System.out.println(String.format("First news name: %s", firstNewsResult.name())); System.out.println(String.format("First news url: %s", firstNewsResult.url())); System.out.println(String.format("First news description: %s", firstNewsResult.description())); System.out.println(String.format("First news published time: %s", firstNewsResult.datePublished())); System.out.println(String.format("First news provider: %s", firstNewsResult.provider().get(0).name())); } else { System.out.println("Couldn't find news results!"); } }
Agregue el método de búsqueda a un método
main()
para ejecutar el código.public static void main(String[] args) { String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; NewsSearchSDK.newsSearch(subscriptionKey); }
Pasos siguientes
Este inicio rápido para empezar a buscar noticias con la biblioteca cliente de Bing News Search para JavaScript. Aunque Bing News Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
- La última versión de Node.js.
- El SDK de Bing News Search para JavaScript.
- Para instalarlo, ejecute
npm install @azure/cognitiveservices-newssearch
.
- Para instalarlo, ejecute
- La clase
CognitiveServicesCredentials
del paquete@azure/ms-rest-azure-js
para autenticar el cliente.- Para instalarlo, ejecute
npm install @azure/ms-rest-azure-js
.
- Para instalarlo, ejecute
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:
- 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.
- 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
Creación de una instancia de
CognitiveServicesCredentials
. Cree variables para el término de búsqueda y la clave de suscripción.const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let search_term = 'Winter Olympics'
Cree una instancia del cliente:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Envío de una consulta de búsqueda
Utilice el cliente para buscar un término de consulta, en este caso "Juegos olímpicos de invierno":
client.newsOperations.search(search_term).then((result) => { console.log(result.value); }).catch((err) => { throw err; });
El código imprime result.value
elementos en la consola sin analizar ningún texto. Los resultados, si hubiera por categoría, incluyen:
_type: 'NewsArticle'
_type: 'WebPage'
_type: 'VideoObject'
_type: 'ImageObject'
Pasos siguientes
Este inicio rápido para empezar a buscar noticias con la biblioteca cliente de Bing News Search para Python. Aunque Bing News Search tiene una API REST compatible con la mayoría de los lenguajes de programación, la biblioteca cliente proporciona una forma sencilla de integrar el servicio en sus aplicaciones. El código fuente de este ejemplo está disponible en GitHub.
Prerrequisitos
- Python 2.x o 3.x
Se recomienda usar un entorno virtual para el desarrollo de Python. Puede instalar e inicializar el entorno virtual con el módulo venv. Debe instalar un módulo virtualenv para Python 2.7. Puede crear un entorno virtual con:
python -m venv mytestenv
Puede instalar las dependencias de la biblioteca cliente de Bing News Search con este comando:
python -m pip install azure-cognitiveservices-search-newssearch
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:
- 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.
- 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 archivo de Python en su IDE o editor favorito e importe las bibliotecas siguientes. Cree una variable para la clave de suscripción y el término de búsqueda.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Inicialización del cliente y envío de una solicitud
Crea una instancia de
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Envíe una consulta de búsqueda a News Search API y almacene la respuesta.
news_result = client.news.search(query=search_term, market="en-us", count=10)
Análisis de la respuesta
Si se encuentran resultados de la búsqueda, imprima el primer resultado de la página web:
if news_result.value:
first_news_result = news_result.value[0]
print("Total estimated matches value: {}".format(
news_result.total_estimated_matches))
print("News result count: {}".format(len(news_result.value)))
print("First news name: {}".format(first_news_result.name))
print("First news url: {}".format(first_news_result.url))
print("First news description: {}".format(first_news_result.description))
print("First published time: {}".format(first_news_result.date_published))
print("First news provider: {}".format(first_news_result.provider[0].name))
else:
print("Didn't see any news result data..")