Szybki start: korzystanie z biblioteki klienta wyszukiwania wiadomości Bing
Ostrzeżenie
30 października 2020 r. interfejsy API Wyszukiwanie Bing zostały przeniesione z usług Azure AI do usług Wyszukiwanie Bing Services. Ta dokumentacja jest dostarczana tylko do celów referencyjnych. Aby uzyskać zaktualizowaną dokumentację, zobacz dokumentację interfejsu API wyszukiwania Bing. Aby uzyskać instrukcje dotyczące tworzenia nowych zasobów platformy Azure na potrzeby wyszukiwania Bing, zobacz Tworzenie zasobu Wyszukiwanie Bing za pomocą Azure Marketplace.
Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka C#. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Wymagania wstępne
Dowolna wersja programu Visual Studio 2017 lub nowsza.
Struktura Json.NET dostępna jako pakiet NuGet.
Jeśli używasz systemu Linux/MacOS, możesz uruchomić tę aplikację przy użyciu środowiska Mono.
Pakiet zestawu SDK wyszukiwania wiadomości Bing dla narzędzia NuGet. Zainstalowanie tego pakietu powoduje także zainstalowanie następujących elementów:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Aby skonfigurować aplikację konsolową przy użyciu biblioteki klienta wyszukiwania wiadomości Bing, przejdź do Manage NuGet Packages
opcji z Eksplorator rozwiązań w programie Visual Studio. Dodaj pakiet Microsoft.Azure.CognitiveServices.Search.NewsSearch
.
Tworzenie zasobu platformy Azure
Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:
zasób Wyszukiwanie Bing w wersji 7
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.
Tworzenie i inicjowanie projektu
Utwórz nowe rozwiązanie konsolowe dla języka C# w programie Visual Studio. Dodaj następujący kod do głównego pliku kodu.
using System; using System.Linq; using Microsoft.Azure.CognitiveServices.Search.NewsSearch;
Utwórz zmienną dla klucza interfejsu API i termin wyszukiwania, a następnie wystąpienie klienta wyszukiwania wiadomości na jego podstawie.
var key = "YOUR-ACCESS-KEY"; var searchTerm = "Quantum Computing"; var client = new NewsSearchClient(new ApiKeyServiceClientCredentials(key));
Wysyłanie żądania i analizowanie wyniku
Użyj klienta, aby wysłać żądanie wyszukiwania do usługi wyszukiwania wiadomości Bing:
var newsResults = client.News.SearchAsync(query: searchTerm, market: "en-us", count: 10).Result;
Jeśli zostaną zwrócone jakiekolwiek wyniki, przeanalizuj je:
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();
Następne kroki
Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka Java. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Wymagania wstępne
Zainstaluj zależności biblioteki klienta wyszukiwania wiadomości Bing przy użyciu programu Maven, Gradle lub innego systemu zarządzania zależnościami. Plik POM systemu Maven wymaga następującej deklaracji:
<dependencies>
<dependency>
<groupId>com.microsoft.azure.cognitiveservices</groupId>
<artifactId>azure-cognitiveservices-newssearch</artifactId>
<version>0.0.1-beta-SNAPSHOT</version>
</dependency>
</dependencies>
Tworzenie zasobu platformy Azure
Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:
zasób Wyszukiwanie Bing w wersji 7
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.
Tworzenie i inicjowanie projektu
Utwórz nowy projekt w języku Java w ulubionym środowisku IDE lub edytorze i zaimportuj poniższe biblioteki.
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;
Tworzenie klienta wyszukiwania i przechowywanie poświadczeń
Utwórz metodę o nazwie
getClient()
, która zwraca nowego klienta wyszukiwaniaNewsSearchAPIImpl
. Dodaj swój punkt końcowy jako pierwszy parametr dla nowego obiektuNewsSearchAPIImpl
oraz nowy obiektServiceClientCredentials
do przechowywania poświadczeń.public static NewsSearchAPIImpl getClient(final String subscriptionKey) { return new NewsSearchAPIImpl("https://api.cognitive.microsoft.com/bing/v7.0/", new ServiceClientCredentials() { }); }
Aby utworzyć obiekt
ServiceClientCredentials
, zastąp funkcjęapplyCredentialsFilter()
. Przekaż elementOkHttpClient.Builder
do metody i użyj metody konstruktoraaddNetworkInterceptor()
, aby utworzyć poświadczenia dla wywołania biblioteki klienta.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); } }); } });
Wysyłanie i odbieranie żądania wyszukiwania
Utwórz metodę, która wywołuje funkcję
getClient()
i wysyła żądanie wyszukiwania do usługi wyszukiwania wiadomości Bing. Przefiltruj wyszukiwanie za pomocą parametrów rynek i liczba, a następnie wypisz informacje o pierwszym wyniku dotyczącym wiadomości: nazwę, adres URL, datę publikacji, opis, nazwę dostawcy i łączną liczbę szacowanych dopasowań dla Twojego wyszukiwania.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!"); } }
Dodaj swoją metodę wyszukiwania do metody
main()
, aby wykonać kod.public static void main(String[] args) { String subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; NewsSearchSDK.newsSearch(subscriptionKey); }
Następne kroki
Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka JavaScript. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Wymagania wstępne
- Najnowsza wersja środowiska Node.js.
- Zestaw SDK wyszukiwania wiadomości Bing dla języka JavaScript
- Aby go zainstalować, uruchom polecenie
npm install @azure/cognitiveservices-newssearch
- Aby go zainstalować, uruchom polecenie
- Klasa
CognitiveServicesCredentials
z@azure/ms-rest-azure-js
pakietu do uwierzytelniania klienta.- Aby go zainstalować, uruchom polecenie
npm install @azure/ms-rest-azure-js
- Aby go zainstalować, uruchom polecenie
Tworzenie zasobu platformy Azure
Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:
zasób Wyszukiwanie Bing w wersji 7
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.
Tworzenie i inicjowanie aplikacji
Utwórz wystąpienie elementu
CognitiveServicesCredentials
. Utwórz zmienne dla klucza subskrypcji i termin wyszukiwania.const CognitiveServicesCredentials = require('@azure/ms-rest-azure-js').CognitiveServicesCredentials; let credentials = new CognitiveServicesCredentials('YOUR-ACCESS-KEY'); let search_term = 'Winter Olympics'
Utwórz wystąpienie klienta:
const NewsSearchAPIClient = require('@azure/cognitiveservices-newssearch'); let client = new NewsSearchAPIClient(credentials);
Wysyłanie zapytania wyszukiwania
Użyj klienta, aby przeprowadzić wyszukiwanie przy użyciu terminu zapytania — w tym przykładzie jest to „Winter Olympics” (zimowe igrzyska olimpijskie):
client.newsOperations.search(search_term).then((result) => { console.log(result.value); }).catch((err) => { throw err; });
Ten kod wyświetla elementy result.value
w konsoli bez analizowania tekstu. Wyniki, jeśli zostały zwrócone w danej kategorii, obejmują następujące elementy:
_type: 'NewsArticle'
_type: 'WebPage'
_type: 'VideoObject'
_type: 'ImageObject'
Następne kroki
Użyj tego przewodnika Szybki start, aby rozpocząć wyszukiwanie wiadomości za pomocą biblioteki klienta wyszukiwania wiadomości Bing dla języka Python. Chociaż wyszukiwanie wiadomości Bing ma interfejs API REST zgodny z większością języków programowania, biblioteka kliencka zapewnia łatwy sposób integracji usługi z aplikacjami. Kod źródłowy tego przykładu można znaleźć w usłudze GitHub.
Wymagania wstępne
- Python 2.x lub 3.x
Zaleca się używanie środowiska wirtualnego do programowania w języku Python. Środowisko wirtualne możesz zainstalować i zainicjować przy użyciu modułu venv. Musi być zainstalowany moduł virtualenv dla języka Python 2.7. Środowisko wirtualne można utworzyć w następujący sposób:
python -m venv mytestenv
Zależności biblioteki klienta wyszukiwania wiadomości Bing można zainstalować za pomocą tego polecenia:
python -m pip install azure-cognitiveservices-search-newssearch
Tworzenie zasobu platformy Azure
Zacznij korzystać z interfejsu API wyszukiwania wiadomości Bing, tworząc jeden z następujących zasobów platformy Azure:
zasób Wyszukiwanie Bing w wersji 7
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj warstwy cenowej Bezpłatna, aby wypróbować usługę, a następnie uaktualnij ją do warstwy płatnej dla środowiska produkcyjnego.
- Dostępne za pośrednictwem Azure Portal do momentu usunięcia zasobu.
- Użyj tego samego klucza i punktu końcowego dla aplikacji w wielu usługach azure AI.
Tworzenie i inicjowanie aplikacji
Utwórz nowy plik kodu Python w ulubionym środowisku IDE lub edytorze i zaimportuj poniższe biblioteki. Utwórz zmienną dla klucza subskrypcji i termin wyszukiwania.
from azure.cognitiveservices.search.newssearch import NewsSearchClient from msrest.authentication import CognitiveServicesCredentials subscription_key = "YOUR-SUBSCRIPTION-KEY" endpoint = "YOUR-ENDPOINT" search_term = "Quantum Computing"
Inicjowanie klienta i wysyłanie żądania
Utwórz wystąpienie elementu
CognitiveServicesCredentials
.client = NewsSearchClient(endpoint=endpoint, credentials=CognitiveServicesCredentials(subscription_key))
Wyślij zapytanie wyszukiwania do interfejsu API wyszukiwania wiadomości i zapisz odpowiedź.
news_result = client.news.search(query=search_term, market="en-us", count=10)
Analizowanie odpowiedzi
Jeśli zostaną zwrócone jakieś wyniki wyszukiwania, wydrukuj pierwszą stronę internetową wyników:
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..")