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
Qualsiasi edizione di Visual Studio 2017 o versioni successive.
Il framework Json.NET, disponibile come pacchetto NuGet.
Se si usa Linux/MacOS, questa applicazione può essere eseguita tramite Mono.
Pacchetto NuGet SDK di Ricerca notizie Bing. Installando questo pacchetto vengono anche installati gli elementi seguenti:
- 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
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:
- 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.
- 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 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;
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
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;
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:
- 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.
- 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
Creare un metodo denominato
getClient()
che restituisce un nuovo client di ricercaNewsSearchAPIImpl
. Aggiungere l'endpoint come primo parametro per il nuovo oggettoNewsSearchAPIImpl
e un nuovo oggettoServiceClientCredentials
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() { }); }
Per creare l'oggetto
ServiceClientCredentials
eseguire l'override della funzioneapplyCredentialsFilter()
. Passare unOkHttpClient.Builder
oggetto al metodo e usare il metodo deladdNetworkInterceptor()
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
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!"); } }
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
- Per installarlo, eseguire
- La classe
CognitiveServicesCredentials
del pacchetto@azure/ms-rest-azure-js
per autenticare il client.- Per installarlo, eseguire
npm install @azure/ms-rest-azure-js
- Per installarlo, eseguire
Creare una risorsa di Azure
Per iniziare a usare l'API Ricerca notizie Bing, creare una delle risorse di Azure seguenti:
- 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.
- 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
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'
Creare un'istanza del client:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Inviare una query di ricerca
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
- Python 2.x o 3.x
È 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:
- 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.
- 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
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
Creare un'istanza di
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
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..")