Snabbstart: Använda klientbiblioteket för nyhetssökning i Bing
Varning
Den 30 oktober 2020 flyttades Bing-sökning-API:erna från Azure AI-tjänster till Bing-sökning Services. Den här dokumentationen tillhandahålls endast som referens. Uppdaterad dokumentation finns i dokumentationen för API:et för Bing-sökning. Anvisningar om hur du skapar nya Azure-resurser för Bing-sökning finns i Skapa en Bing-sökning resurs via Azure Marketplace.
Använd den här snabbstarten för att börja söka efter nyheter med klientbiblioteket för nyhetssökning i Bing för C#. Nyhetssökning i Bing har ett REST-API som är kompatibelt med de flesta programmeringsspråk, men klientbiblioteket är ett enkelt sätt att integrera tjänsten i dina program. Källkoden för det här exemplet finns på GitHub.
Förutsättningar
Valfri version av Visual Studio 2017 eller senare.
Json.NET framework, tillgänglig som ett NuGet-paket.
Om du använder Linux/Mac OS kan det här programmet köras med Mono.
NuGet-paket för SDK för Nyhetssökning i Bing. Installering av det här paketet installerar även följande:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Om du vill konfigurera ett konsolprogram med klientbiblioteket för nyhetssökning i Bing bläddrar du till Manage NuGet Packages
alternativet från Solution Explorer i Visual Studio. Lägg till paketet Microsoft.Azure.CognitiveServices.Search.NewsSearch
.
Skapa en Azure-resurs
Börja använda API:et för nyhetssökning i Bing genom att skapa någon av följande Azure-resurser:
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd den kostnadsfria prisnivån för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.
Skapa och initiera ett projekt
Skapa en ny C#-konsollösning i Visual Studio. Lägg sedan till följande i huvudkodfilen.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
Skapa en variabel för din API-nyckel, en sökterm, och sedan skapa sedan en instans av klienten för nyhetssökning med den.
var key = "YOUR-ACCESS-KEY"; var searchTerm = "Quantum Computing"; var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
Skicka en begäran och tolka resultatet
Du kan använda klienten för att skicka en sökbegäran till tjänsten Nyhetssökning i Bing:
var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
Om alla resultat returnerades ska du parsa dem:
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ästa steg
Använd den här snabbstarten för att börja söka efter nyheter med klientbiblioteket för nyhetssökning i Bing för Java. Nyhetssökning i Bing har ett REST-API som är kompatibelt med de flesta programmeringsspråk, men klientbiblioteket är ett enkelt sätt att integrera tjänsten i dina program. Källkoden för det här exemplet finns på GitHub.
Förutsättningar
Installera beroenden för klientbiblioteket för nyhetssökning i Bing med hjälp av Maven, Gradle eller något annat beroendehanteringssystem. Maven POM-filen kräver följande deklaration:
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-newssearch</artifactId>
<version>0.0.1-beta-SNAPSHOT</version>
</dependency>
</dependencies>
Skapa en Azure-resurs
Börja använda API:et för nyhetssökning i Bing genom att skapa någon av följande Azure-resurser:
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd den kostnadsfria prisnivån för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.
Skapa och initiera ett projekt
Skapa ett nytt Java-projekt i valfri IDE eller redigeringsprogram och importera följande bibliotek.
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;
Skapa en sökklient och lagra autentiseringsuppgifter
Skapa en metod med namnet
getClient()
som returnerar en nyNewsSearchAPIImpl
-sökklienten. Lägg till slutpunkten som den första parametern för det nyaNewsSearchAPIImpl
-objektet och ett nyttServiceClientCredentials
-objekt för att lagra autentiseringsuppgifterna.public static NewsSearchAPIImpl getClient(final String subscriptionKey) { return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { }); }
Skapa
ServiceClientCredentials
-objektet genom att åsidosätta funktionenapplyCredentialsFilter()
. Skicka enOkHttpClient.Builder
till metoden och använd byggarensaddNetworkInterceptor()
-metod för att skapa dina autentiseringsuppgifter för klientbiblioteksanropet.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); } }); } });
Skicka och ta emot en sökbegäran
Skapa en metod som anropar
getClient()
och skickar en sökbegäran till tjänsten Nyhetssökning i Bing. Filtrera sökningen med parametrarna market och count. Skriv sedan ut information om det första nyhetsresultatet: namn, URL, publiceringsdatum, beskrivning, providernamn samt totalt antal uppskattade matchningar för sökningen.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!"); } }
Kör koden genom att lägga till sökmetoden i en
main()
-metod.public static void main(String[] args) { String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; NewsSearchSDK.newsSearch(subscriptionKey); }
Nästa steg
Använd den här snabbstarten för att börja söka efter nyheter med klientbiblioteket för nyhetssökning i Bing för JavaScript. Nyhetssökning i Bing har ett REST-API som är kompatibelt med de flesta programmeringsspråk, men klientbiblioteket är ett enkelt sätt att integrera tjänsten i dina program. Källkoden för det här exemplet finns på GitHub.
Förutsättningar
- Den senaste versionen av Node.js.
-
SDK för nyhetssökning i Bing för JavaScript
- Installera genom att köra
npm install @azure/cognitiveservices-newssearch
- Installera genom att köra
- Klassen
CognitiveServicesCredentials
från@azure/ms-rest-azure-js
paketet för att autentisera klienten.- Installera genom att köra
npm install @azure/ms-rest-azure-js
- Installera genom att köra
Skapa en Azure-resurs
Börja använda API:et för nyhetssökning i Bing genom att skapa någon av följande Azure-resurser:
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd den kostnadsfria prisnivån för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.
Skapa och initiera appen
Skapa en instans av
CognitiveServicesCredentials
. Skapa variabler för din prenumerationsnyckel och en sökterm.const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let search_term = 'Winter Olympics'
instantiera klienten:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Skicka en sökfråga
Använd klienten för att söka med en frågeterm, i det här fallet ”Winter Olympics”:
client.newsOperations.search(search_term).then((result) => { console.log(result.value); }).catch((err) => { throw err; });
Koden skriver ut result.value
-objekt till konsolen utan parsning av texten. I resultaten, om sådana finns för respektive kategori, ingår:
_type: 'NewsArticle'
_type: 'WebPage'
_type: 'VideoObject'
_type: 'ImageObject'
Nästa steg
Använd den här snabbstarten för att börja söka efter nyheter med klientbiblioteket för nyhetssökning i Bing för Python. Nyhetssökning i Bing har ett REST-API som är kompatibelt med de flesta programmeringsspråk, men klientbiblioteket är ett enkelt sätt att integrera tjänsten i dina program. Källkoden för det här exemplet finns på GitHub.
Förutsättningar
- Python 2.x eller 3.x
Vi rekommenderar att du använder en virtuell miljö för din Python-utveckling. Du kan installera och initiera den virtuella miljön med venv-modulen. Du måste installera en virtualenv för Python 2.7. Du kan skapa en virtuell miljö med:
python -m venv mytestenv
Du kan installera klientbibliotekets beroenden för nyhetssökning i Bing med det här kommandot:
python -m pip install azure-cognitiveservices-search-newssearch
Skapa en Azure-resurs
Börja använda API:et för nyhetssökning i Bing genom att skapa någon av följande Azure-resurser:
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd den kostnadsfria prisnivån för att prova tjänsten och uppgradera senare till en betald nivå för produktion.
- Tillgänglig via Azure Portal tills du tar bort resursen.
- Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.
Skapa och initiera appen
Skapa en ny Python-fil i valfri IDE eller redigeringsprogram och importera följande bibliotek. Skapa en variabel för din prenumerationsnyckel eller sökterm.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Initiera klienten och skicka en begäran
Skapa en instans av
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Skicka en sökfråga till API:et för nyhetssökning i Bing och lagra svaren.
news_result = client.news.search(query=search_term, market="en-us", count=10)
Parsa svaret
Om några sökresultat hittas skriver du ut resultatet på den första webbsidan:
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..")