Condividi tramite


Guida introduttiva: Usare la libreria client di Ricerca notizie Bing

Avvertimento

Il 30 ottobre 2020, le API di ricerca Bing sono state spostate dai servizi di intelligenza artificiale di Azure ai servizi di ricerca Bing. Questa documentazione è disponibile solo per riferimento. Per la documentazione aggiornata, vedere la Documentazione dell'API di Ricerca Bing. Per istruzioni sulla creazione di nuove risorse di Azure per Ricerca Bing, vedere Creare una risorsa di Ricerca Bing tramite Azure Marketplace.

Utilizzare questa guida introduttiva per iniziare a cercare notizie con la libreria client di Bing News Search per C#. Sebbene Ricerca notizie Bing abbia un'API REST compatibile con la maggior parte dei linguaggi di programmazione, la libreria client offre un modo semplice per integrare il servizio nelle applicazioni. Il codice sorgente per questo esempio è disponibile su GitHub.

Prerequisiti

  • Qualsiasi edizione di Visual Studio 2017 o versione successiva.

  • Framework Json.NET disponibile come pacchetto NuGet.

  • Se si usa Linux/MacOS, questa applicazione può essere eseguita usando Mono.

  • Il pacchetto NuGet SDK di Ricerca di notizie Bing . L'installazione di questo pacchetto installa anche quanto segue:

    • Microsoft.Rest.ClientRuntime
    • Microsoft.Rest.ClientRuntime.Azure
    • Newtonsoft.Json

Per configurare un'applicazione console usando la libreria client di Ricerca notizie Bing, passare all'opzione Manage NuGet Packages da Esplora soluzioni in Visual Studio. Aggiungere il pacchetto Microsoft.Azure.CognitiveServices.Search.NewsSearch.

Creare una risorsa di Azure

Iniziare a usare l'API Ricerca notizie Bing creando una delle risorse di Azure seguenti:

risorsa ricerca Bing v7

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare il piano tariffario gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.

risorsa multiservizio

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare la stessa chiave e lo stesso endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.

Creare e inizializzare un progetto

  1. Creare una nuova soluzione console C# in Visual Studio. Aggiungere quindi quanto segue nel file di codice principale.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Definire una variabile per la chiave API, un termine di ricerca, e poi istanziare il client di ricerca notizie con essa.

    var key = "YOUR-ACCESS-KEY";
    var searchTerm = "Quantum Computing";
    var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
    

Inviare una richiesta e analizzare il risultato

  1. Usare il client per inviare una richiesta di ricerca al servizio Ricerca notizie Bing:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Se sono stati restituiti risultati, analizzarli:

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

Passaggi successivi

Usare questa guida introduttiva per iniziare a cercare notizie con la libreria client di Ricerca notizie Bing per Java. Sebbene Ricerca notizie Bing abbia un'API REST compatibile con la maggior parte dei linguaggi di programmazione, la libreria client offre un modo semplice per integrare il servizio nelle applicazioni. Il codice sorgente per questo esempio è disponibile su GitHub.

Prerequisiti

Installare le dipendenze della libreria client di Ricerca notizie Bing usando Maven, Gradle o un altro sistema di gestione delle dipendenze. Il file POM Maven richiede la dichiarazione seguente:

    <dependencies>
    <dependency>
        <groupId>com.microsoft.azure.cognitiveservices</groupId>
        <artifactId>azure-cognitiveservices-newssearch</artifactId>
        <version>0.0.1-beta-SNAPSHOT</version>
    </dependency>
    </dependencies>

Creare una risorsa di Azure

Iniziare a usare l'API Ricerca notizie Bing creando una delle risorse di Azure seguenti:

risorsa ricerca Bing v7

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare il piano tariffario gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.

risorsa multiservizio

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare la stessa chiave e lo stesso endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.

Creare e inizializzare un progetto

Creare un nuovo progetto Java nell'IDE o nell'editor preferito e importare le librerie seguenti.

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;

Creare un client di ricerca e archiviare le credenziali

  1. Creare un metodo denominato getClient() che restituisce un nuovo client di ricerca NewsSearchAPIImpl. Aggiungere l'endpoint come primo parametro per il nuovo oggettoNewsSearchAPIImpl e un nuovo oggetto ServiceClientCredentials per archiviare le credenziali.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Per creare l'oggetto ServiceClientCredentials, eseguire l'override della funzione applyCredentialsFilter(). Passa un OkHttpClient.Builder al metodo e usa il metodo addNetworkInterceptor() del builder per creare le credenziali per la chiamata alla libreria del client.

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

Inviare e ricevere una richiesta di ricerca

  1. Creare un metodo che chiama getClient() e invia una richiesta di ricerca al servizio Ricerca notizie Bing. Filtrare la ricerca con il di mercato e conteggio parametri, quindi stampare informazioni sul primo risultato delle notizie: nome, URL, data di pubblicazione, descrizione, nome provider e numero totale di corrispondenze stimate per la ricerca.

    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!");
        }
    
    }
    
    
  2. Aggiungi un metodo di ricerca a un metodo main() per eseguire il codice.

    public static void main(String[] args) {
        String subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
        NewsSearchSDK.newsSearch(subscriptionKey);
    }
    

Passaggi successivi

Usare questa guida introduttiva per iniziare a cercare notizie con la libreria client di Ricerca notizie Bing per JavaScript. Sebbene Ricerca notizie Bing abbia un'API REST compatibile con la maggior parte dei linguaggi di programmazione, la libreria client offre un modo semplice per integrare il servizio nelle applicazioni. Il codice sorgente per questo esempio è disponibile su GitHub.

Prerequisiti

  • Versione più recente di Node.js.
  • SDK di Ricerca notizie Bing per JavaScript
    • Per installarlo, eseguire npm install @azure/cognitiveservices-newssearch
  • Classe CognitiveServicesCredentials dal pacchetto di @azure/ms-rest-azure-js per autenticare il client.
    • Per installarlo, eseguire npm install @azure/ms-rest-azure-js

Creare una risorsa di Azure

Iniziare a usare l'API Ricerca notizie Bing creando una delle risorse di Azure seguenti:

risorsa ricerca Bing v7

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare il piano tariffario gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.

risorsa multiservizio

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare la stessa chiave e lo stesso endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.

Creare e inizializzare l'applicazione

  1. Creare un'istanza del CognitiveServicesCredentials. Creare variabili per la chiave di sottoscrizione e un termine di ricerca.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. creare un'istanza del client:

    const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch');
    let client = new NewsSearchAPIClient(credentials);
    

Inviare una query di ricerca

  1. Usare il client per cercare con un termine di query, in questo caso "Olimpiadi invernali":

    client.newsOperations.search(search_term).then((result) => {
        console.log(result.value);
    }).catch((err) => {
        throw err;
    });
    

Il codice visualizza result.value elementi sul terminale senza esaminare alcun testo. I risultati, se presenti per categoria, includono:

  • _type: 'NewsArticle'
  • _type: 'WebPage'
  • _type: 'VideoObject'
  • _type: 'ImageObject'

Passaggi successivi

Usare questa guida introduttiva per iniziare a cercare notizie con la libreria client di Ricerca notizie Bing per Python. Sebbene Ricerca notizie Bing abbia un'API REST compatibile con la maggior parte dei linguaggi di programmazione, la libreria client offre un modo semplice per integrare il servizio nelle applicazioni. Il codice sorgente per questo esempio è disponibile su GitHub.

Prerequisiti

È consigliabile usare un ambiente virtuale per lo sviluppo Python. È possibile installare e inizializzare l'ambiente virtuale con il modulo venv . È necessario installare un virtualenv per Python 2.7. È possibile creare un ambiente virtuale con:

python -m venv mytestenv

È possibile installare le dipendenze della libreria client di Ricerca notizie Bing con questo comando:

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

Creare una risorsa di Azure

Iniziare a usare l'API Ricerca notizie Bing creando una delle risorse di Azure seguenti:

risorsa ricerca Bing v7

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare il piano tariffario gratuito per provare il servizio e eseguire l'aggiornamento in un secondo momento a un livello a pagamento per la produzione.

risorsa multiservizio

  • Disponibile tramite il portale di Azure fino a quando non si elimina la risorsa.
  • Usare la stessa chiave e lo stesso endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.

Creare e inizializzare l'applicazione

  1. Creare un nuovo file Python nell'IDE o nell'editor preferito e importare le librerie seguenti. Creare una variabile per la chiave di sottoscrizione e il termine di ricerca.

    from azure.cognitiveservices.search.newssearch import NewsSearchClient
    from msrest.authentication import CognitiveServicesCredentials
    subscription_key = "YOUR-SUBSCRIPTION-KEY"
    endpoint = "YOUR-ENDPOINT"
    search_term = "Quantum Computing"
    

Inizializzare il client e inviare una richiesta

  1. Crea un'istanza di CognitiveServicesCredentials.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Inviare una query di ricerca all'API Ricerca notizie, archiviare la risposta.

    news_result = client.news.search(query=search_term, market="en-us", count=10)
    

Analizzare la risposta

Se vengono trovati risultati di ricerca, stampare il primo risultato della pagina 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..")

Passaggi successivi