Avvio rapido: Usare la libreria client di Ricerca notizie Bing

Avviso

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

Usare questa guida introduttiva per iniziare a cercare notizie con la libreria client di Ricerca notizie Bing per C#. Anche se Ricerca notizie Bing ha 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

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

Creare una risorsa di Azure

Per iniziare a usare l'API Ricerca notizie Bing, creare una delle risorse di Azure seguenti:

Risorsa Ricerca Bing v7

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • Usare il piano tariffario gratuito per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Risorsa multi-servizio

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • 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 di 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. Creare una variabile per la chiave API, un termine di ricerca e quindi creare contemporaneamente un'istanza del client di ricerca notizie.

    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. Analizzare gli eventuali risultati restituiti:

    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. Anche se Ricerca notizie Bing ha 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 di 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

Per iniziare a usare l'API Ricerca notizie Bing, creare una delle risorse di Azure seguenti:

Risorsa Ricerca Bing v7

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • Usare il piano tariffario gratuito per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Risorsa multi-servizio

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • 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'ambiente di sviluppo integrato 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 oggetto NewsSearchAPIImpl e un nuovo oggetto ServiceClientCredentials usato 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(). Passare un OkHttpClient.Builder oggetto al metodo e usare il metodo del addNetworkInterceptor() generatore per creare le credenziali per la chiamata alla libreria 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 chiami getClient() e invii una richiesta di ricerca al servizio Ricerca notizie Bing. Filtrare la ricerca con i parametri market e count, quindi stampare le informazioni relative al primo risultato delle notizie: nome, URL, data di pubblicazione, descrizione, nome del 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. Aggiungere il 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

Seguire questo argomento di avvio rapido per iniziare a cercare notizie con la libreria client di Ricerca notizie Bing per JavaScript. Anche se Ricerca notizie Bing ha 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

  • La versione più recente di Node.js.
  • L'SDK di Ricerca notizie Bing per JavaScript
    • Per installarlo, eseguire npm install @azure/cognitiveservices-newssearch
  • La classe CognitiveServicesCredentials del pacchetto @azure/ms-rest-azure-js per autenticare il client.
    • Per installarlo, eseguire npm install @azure/ms-rest-azure-js

Creare una risorsa di Azure

Per iniziare a usare l'API Ricerca notizie Bing, creare una delle risorse di Azure seguenti:

Risorsa Ricerca Bing v7

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • Usare il piano tariffario gratuito per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Risorsa multi-servizio

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • 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 di 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 eseguire una ricerca con un termine di query, in questo caso "Winter Olympics":

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

Il codice visualizza elementi result.value nella console senza analizzare il testo. I risultati, se disponibili per ogni 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. Anche se Ricerca notizie Bing ha 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 ricerca notizie Bing con questo comando:

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

Creare una risorsa di Azure

Per iniziare a usare l'API Ricerca notizie Bing, creare una delle risorse di Azure seguenti:

Risorsa Ricerca Bing v7

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • Usare il piano tariffario gratuito per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Risorsa multi-servizio

  • disponibile tramite il portale di Azure fino a quando la risorsa non viene eliminata.
  • Usare la stessa chiave e l'endpoint per le applicazioni in più servizi di intelligenza artificiale di Azure.

Creare e inizializzare l'applicazione

  1. Creare un nuovo file Python nell'ambiente di sviluppo integrato o nell'editor preferito e importare le librerie seguenti. Creare una variabile per la chiave di sottoscrizione e per 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. Creare un'istanza di CognitiveServicesCredentials.

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

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

Analizzare la risposta

Se vengono trovati risultati della 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