Rövid útmutató: A Bing News Search ügyfélkódtár használata

Figyelmeztetés

2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos útmutatásért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.

Ezzel a rövid útmutatóval elkezdhet híreket keresni a C# Bing News Search ügyfélkódtárával. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.

Előfeltételek

Ha egy konzolalkalmazást a Bing News Search ügyfélkódtárával szeretne beállítani, keresse meg a lehetőséget a Manage NuGet Packages Visual Studio Megoldáskezelő. Vegye fel a Microsoft.Azure.CognitiveServices.Search.NewsSearch csomagot.

Azure-erőforrás létrehozása

Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:

Bing Search v7-erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.

Többszolgáltatásos erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.

Projekt létrehozása és inicializálása

  1. Hozzon létre egy új C#-konzolmegoldást a Visual Studióban. Ezután adja hozzá a következőket a fő kódfájlhoz.

    using System;
    using System.Linq;
    using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
    
  2. Hozzon létre egy változót az API-kulcshoz, egy keresési kifejezést, majd hozza létre vele a hírkeresési ügyfelet.

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

Kérés küldése és az eredmény elemzése

  1. Az ügyfél használatával küldjön keresési kérést a Bing News Search szolgáltatás:

    var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
    
  2. Ha bármilyen eredményt ad vissza, elemezd őket:

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

Következő lépések

Ezzel a rövid útmutatóval megkezdheti a hírek keresését a Java Bing News Search ügyfélkódtárával. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.

Előfeltételek

Telepítse a Bing News Search ügyféloldali kódtár-függőségeit a Maven, a Gradle vagy más függőségkezelési rendszer használatával. A Maven POM-fájlhoz a következő deklarációra van szükség:

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

Azure-erőforrás létrehozása

Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:

Bing Search v7-erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.

Többszolgáltatásos erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.

Projekt létrehozása és inicializálása

Hozzon létre egy új Java-projektet a kedvenc IDE-környezetében vagy szerkesztőjében, és importálja az alábbi kódtárakat.

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;

Keresési ügyfél létrehozása és hitelesítő adatok tárolása

  1. Hozzon létre egy nevű getClient() metódust, amely egy új NewsSearchAPIImpl keresési ügyfelet ad vissza. Adja hozzá a végpontot az újNewsSearchAPIImpl objektum első paramétereként, és egy új ServiceClientCredentials objektumot a hitelesítő adatok tárolásához.

    public static NewsSearchAPIImpl getClient(final String subscriptionKey) {
        return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/",
                new ServiceClientCredentials() {
                });
    }
    
  2. Az ServiceClientCredentials objektum létrehozásához felülbírálja a függvényt applyCredentialsFilter() . Adja át az a-t OkHttpClient.Builder a metódusnak, és a szerkesztő metódusával addNetworkInterceptor() hozza létre a hitelesítő adatait az ügyfélkódtár hívásához.

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

Keresési kérelem küldése és fogadása

  1. Hozzon létre egy metódust, amely meghívja getClient() és elküldi a keresési kérést a Bing News Search szolgáltatás. Szűrje a keresést a piac és a darabszám paramétereivel, majd nyomtassa ki az első hír eredményére vonatkozó információkat: név, URL-cím, közzététel dátuma, leírás, szolgáltató neve és a keresés becsült találatainak teljes száma.

    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. Adja hozzá a keresési metódust egy main() metódushoz a kód végrehajtásához.

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

Következő lépések

Ezzel a rövid útmutatóval megkezdheti a hírek keresését a JavaScripthez készült Bing News Search ügyfélkódtárban. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.

Előfeltételek

  • A Node.js legújabb verziója.
  • A JavaScripthez készült Bing News Search SDK
    • A telepítéshez futtassa a npm install @azure/cognitiveservices-newssearch
  • Az CognitiveServicesCredentials osztály a csomagból @azure/ms-rest-azure-js az ügyfél hitelesítéséhez.
    • A telepítéshez futtassa a npm install @azure/ms-rest-azure-js

Azure-erőforrás létrehozása

Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:

Bing Search v7-erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.

Többszolgáltatásos erőforrás

  • Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.

Az alkalmazás létrehozása és inicializálása

  1. Hozza létre a CognitiveServicesCredentials egy példányát. Hozzon létre változókat az előfizetési kulcshoz és egy keresési kifejezéshez.

    const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials;
    let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY');
    let search_term = 'Winter Olympics'
    
  2. az ügyfél példányosítása:

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

Keresési lekérdezés küldése

  1. Használja az ügyfelet egy lekérdezési kifejezéssel való kereséshez, ebben az esetben a "Téli olimpia":

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

A kód result.value-elemeket jelenít meg a konzolon bármilyen szövegelemzés nélkül. Az eredmények – ha egyáltalán van találat egy kategóriában – a következőket fogják tartalmazni:

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

Következő lépések

Ezzel a rövid útmutatóval megkezdheti a hírek keresését a Python Bing News Search ügyfélkódtárával. Bár a Bing News Search a legtöbb programozási nyelvvel kompatibilis REST API-val rendelkezik, az ügyfélkódtár segítségével egyszerűen integrálhatja a szolgáltatást az alkalmazásokba. A minta forráskódja a GitHubon található.

Előfeltételek

Javasoljuk, hogy virtuális környezetet használjon a Python-fejlesztéshez. A virtuális környezetet a venv modullal telepítheti és inicializálhatja. Telepítenie kell egy virtualenv-t a Python 2.7-hez. Virtuális környezetet a következőkkel hozhat létre:

python -m venv mytestenv

A Bing News Search ügyféloldali kódtár függőségeit az alábbi paranccsal telepítheti:

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

Azure-erőforrás létrehozása

Kezdje el használni a Bing News Search API-t az alábbi Azure-erőforrások egyikének létrehozásával:

Bing Search v7-erőforrás

  • A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős tarifacsomagra éles környezetben.

Többszolgáltatásos erőforrás

  • A Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
  • Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.

Az alkalmazás létrehozása és inicializálása

  1. Hozzon létre egy új Python-fájlt a kedvenc IDE-jében vagy szerkesztőjében, és importálja az alábbi kódtárakat. Hozzon létre egy változót az előfizetői azonosítóhoz és a keresési kifejezéshez.

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

Az ügyfél inicializálása és kérés küldése

  1. Hozza létre a CognitiveServicesCredentials egy példányát.

    client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
    
  2. Küldjön keresési lekérdezést a News Search API-nak, és tárolja a választ.

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

A válasz feldolgozása

Ha talál találatot, nyomtassa ki az első weblap eredményét:

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

Következő lépések