Freigeben über


Schnellstart: Verwenden der Bing News Search-Clientbibliothek

Warnung

Am 30. Oktober 2020 wurden die Bing Search-APIs von Azure AI-Diensten zu Bing Search Services verschoben. Diese Dokumentation wird nur zur Referenz bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.

Verwenden Sie diese Schnellstartanleitung, um mit der Suche nach Nachrichten mit der Bing News Search-Clientbibliothek für C# zu beginnen. Die Bing News Search verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek bietet jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

Um eine Konsolenanwendung mithilfe der Bing News Search-Clientbibliothek einzurichten, navigieren Sie im Projektmappen-Explorer in Visual Studio zur Option Manage NuGet Packages. Fügen Sie das Paket Microsoft.Azure.CognitiveServices.Search.NewsSearch hinzu.

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing News Search-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Ressource für Bing-Suche v7

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie das kostenlose Preisniveau, um den Dienst auszuprobieren und später auf eine kostenpflichtige Stufe für die Produktion zu aktualisieren.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.

Erstellen und Initialisieren eines Projekts

  1. Erstellen Sie eine neue C#-Konsolenlösung in Visual Studio. Fügen Sie dann Folgendes in die Hauptcodedatei ein.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Erstellen Sie eine Variable für Ihren API-Schlüssel, einen Suchbegriff, und instanziieren Sie dann den Nachrichtensuchclient damit.

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

Senden einer Anforderung und Analysieren des Ergebnisses

  1. Verwenden Sie den Client, um eine Suchanfrage an den Bing News Search-Dienst zu senden:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Wenn Ergebnisse zurückgegeben wurden, analysieren Sie sie:

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

Nächste Schritte

Verwenden Sie diese Schnellstartanleitung, um mit der Suche nach Nachrichten mit der Bing News Search-Clientbibliothek für Java zu beginnen. Die Bing News Search verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek bietet jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

Installieren Sie die Clientbibliotheksabhängigkeiten der Bing News Search mithilfe von Maven, Gradle oder einem anderen Abhängigkeitsverwaltungssystem. Für die Datei Maven POM ist die folgende Deklaration erforderlich:

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

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing News Search-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Ressource für Bing-Suche v7

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie das kostenlose Preisniveau, um den Dienst auszuprobieren und später auf eine kostenpflichtige Stufe für die Produktion zu aktualisieren.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.

Erstellen und Initialisieren eines Projekts

Erstellen Sie ein neues Java-Projekt in Ihrer bevorzugten IDE oder Ihrem Bevorzugten Editor, und importieren Sie die folgenden Bibliotheken.

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;

Erstellen eines Suchclients und Speichern von Anmeldeinformationen

  1. Erstellen Sie eine Methode namens getClient(), die einen neuen NewsSearchAPIImpl Suchclient zurückgibt. Fügen Sie Ihren Endpunkt als ersten Parameter für das neueNewsSearchAPIImpl-Objekt und ein neues ServiceClientCredentials-Objekt hinzu, um Ihre Anmeldeinformationen zu speichern.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Um das ServiceClientCredentials-Objekt zu erstellen, überschreiben Sie die applyCredentialsFilter()-Funktion. Übergeben Sie eine OkHttpClient.Builder an die Methode und verwenden Sie die addNetworkInterceptor()-Methode des Builders, um Ihre Zugangsdaten für den Aufruf der Clientbibliothek zu erstellen.

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

Senden und Empfangen einer Suchanfrage

  1. Erstellen Sie eine Methode, die getClient() aufruft und eine Suchanforderung an den Bing News Search-Dienst sendet. Filtern Sie die Suche mit den Marktparameter und Anzahlparameter, und drucken Sie anschließend Informationen zum ersten Nachrichtenergebnis: Name, URL, Publikationsdatum, Beschreibung, Anbietername und Gesamtzahl der geschätzten Treffer für Ihre Suche.

    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. Fügen Sie die Suchmethode zu einer main() Methode hinzu, um den Code auszuführen.

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

Nächste Schritte

Verwenden Sie diese Schnellstartanleitung, um mit der Suche nach Nachrichten mit der Bing News Search-Clientbibliothek für JavaScript zu beginnen. Die Bing News Search verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek bietet jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

  • Die neueste Version von Node.js.
  • Das Bing News Search SDK für JavaScript
    • Führen Sie zum Installieren npm install @azure/cognitiveservices-newssearch aus.
  • Die CognitiveServicesCredentials Klasse aus @azure/ms-rest-azure-js Paket zur Authentifizierung des Clients.
    • Führen Sie zum Installieren npm install @azure/ms-rest-azure-js aus.

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing News Search-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Ressource für Bing-Suche v7

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie das kostenlose Preisniveau, um den Dienst auszuprobieren und später auf eine kostenpflichtige Stufe für die Produktion zu aktualisieren.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.

Erstellen und Initialisieren der Anwendung

  1. Erstellen Sie eine Instanz des CognitiveServicesCredentials. Erstellen Sie Variablen für Ihren Abonnementschlüssel und einen Suchbegriff.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. Instanziieren Sie den Client:

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

Senden einer Suchabfrage

  1. Verwenden Sie den Client, um mit einem Abfragebegriff zu suchen, in diesem Fall "Winterspiele":

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

Der Code gibt result.value Elemente in der Konsole aus, ohne Text zu parsen. Die Ergebnisse( falls vorhanden pro Kategorie) umfassen:

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

Nächste Schritte

Verwenden Sie diese Schnellstartanleitung, um mit der Suche nach Nachrichten mit der Bing News Search-Clientbibliothek für Python zu beginnen. Die Bing News Search verfügt zwar über eine REST-API, die mit den meisten Programmiersprachen kompatibel ist, die Clientbibliothek bietet jedoch eine einfache Möglichkeit, den Dienst in Ihre Anwendungen zu integrieren. Den Quellcode für dieses Beispiel finden Sie auf GitHub.

Voraussetzungen

Es wird empfohlen, eine virtuelle Umgebung für Ihre Python-Entwicklung zu verwenden. Sie können die virtuelle Umgebung mit dem venv-Modulinstallieren und initialisieren. Sie müssen einen virtualenv für Python 2.7 installieren. Sie können eine virtuelle Umgebung mit:

python -m venv mytestenv

Sie können die Clientbibliotheksabhängigkeiten der Bing News Search mit diesem Befehl installieren:

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

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing News Search-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Ressource für Bing-Suche v7

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie das kostenlose Preisniveau, um den Dienst auszuprobieren und später auf eine kostenpflichtige Stufe für die Produktion zu aktualisieren.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.

Erstellen und Initialisieren der Anwendung

  1. Erstellen Sie eine neue Python-Datei in Ihrer bevorzugten IDE oder Ihrem Bevorzugten Editor, und importieren Sie die folgenden Bibliotheken. Erstellen Sie eine Variable für Ihren Abonnementschlüssel und Ihren Suchbegriff.

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

Initialisieren des Clients und Senden einer Anforderung

  1. Erstellen Sie eine instance von CognitiveServicesCredentials.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Senden Sie eine Suchabfrage an die Nachrichtensuche-API, speichern Sie die Antwort.

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

Analysieren der Antwort

Wenn Suchergebnisse gefunden werden, drucken Sie das erste Webseitenergebnis:

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..")

Nächste Schritte