Szybki start: wywoływanie punktu końcowego wyszukiwania niestandardowego Bing przy użyciu języka C#
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.
Skorzystaj z tego przewodnika Szybki start, aby dowiedzieć się, jak żądać wyników wyszukiwania z wystąpienia wyszukiwania niestandardowego Bing. Mimo że ta aplikacja jest napisana w języku C#, interfejs API wyszukiwania niestandardowego Bing jest usługą internetową RESTful zgodną z większością języków programowania. Kod źródłowy dla tego przykładu jest dostępny w witrynie GitHub.
Wymagania wstępne
Wystąpienie wyszukiwania niestandardowego Bing. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie pierwszego wystąpienia wyszukiwania niestandardowego Bing.
Dowolna wersja programu Visual Studio 2019 lub nowsza.
Jeśli używasz systemu Linux/MacOS, możesz uruchomić tę aplikację przy użyciu środowiska Mono.
Pakiet NuGet wyszukiwania niestandardowego Bing .
Aby zainstalować ten pakiet w programie Visual Studio:
- Kliknij prawym przyciskiem myszy projekt w Eksplorator rozwiązań, a następnie wybierz polecenie Zarządzaj pakietami NuGet.
- Wyszukaj i wybierz pozycję Microsoft.Azure.CognitiveServices.Search.CustomSearch, a następnie zainstaluj pakiet.
Podczas instalowania pakietu NuGet wyszukiwania niestandardowego Bing program Visual Studio instaluje również następujące pakiety:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Tworzenie zasobu platformy Azure
Zacznij korzystać z interfejsu API wyszukiwania niestandardowego Bing, tworząc jeden z następujących zasobów platformy Azure.
Zasób wyszukiwania niestandardowego Bing
- 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.
Zasób z wieloma usługami
- 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 nową aplikację konsoli języka C# w programie Visual Studio. Następnie dodaj następujące pakiety do projektu:
using System; using System.Net.Http; using System.Web; using Newtonsoft.Json;
Utwórz następujące klasy, aby przechowywać wyniki wyszukiwania zwrócone przez interfejs API wyszukiwania niestandardowego Bing:
public class BingCustomSearchResponse { public string _type{ get; set; } public WebPages webPages { get; set; } } public class WebPages { public string webSearchUrl { get; set; } public int totalEstimatedMatches { get; set; } public WebPage[] value { get; set; } } public class WebPage { public string name { get; set; } public string url { get; set; } public string displayUrl { get; set; } public string snippet { get; set; } public DateTime dateLastCrawled { get; set; } public string cachedPageUrl { get; set; } }
W metodzie głównej projektu utwórz następujące zmienne dla klucza subskrypcji interfejsu API wyszukiwania niestandardowego Bing, identyfikator konfiguracji niestandardowej wystąpienia wyszukiwania i termin wyszukiwania:
var subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; var customConfigId = "YOUR-CUSTOM-CONFIG-ID"; var searchTerm = args.Length > 0 ? args[0]:"microsoft";
Skonstruuj adres URL żądania, dołączając termin wyszukiwania do parametru
q=
zapytania, a identyfikator konfiguracji niestandardowej wystąpienia wyszukiwania do parametrucustomconfig=
. Rozdziel parametry znakiem ampersand (&
).url
Dla wartości zmiennej można użyć globalnego punktu końcowego w poniższym kodzie lub użyć niestandardowego punktu końcowego poddomeny wyświetlanego w Azure Portal dla zasobu.var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" + "q=" + searchTerm + "&" + "customconfig=" + customConfigId;
Wysyłanie i odbieranie żądania wyszukiwania
Utwórz żądanie klienta i dodaj klucz subskrypcji do nagłówka
Ocp-Apim-Subscription-Key
.var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
Wykonaj żądanie wyszukiwania i pobierz odpowiedź jako obiekt JSON.
var httpResponseMessage = client.GetAsync(url).Result; var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result; BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
Przetwarzanie i wyświetlanie wyników
Przejrzyj obiekt odpowiedzi, aby wyświetlić informacje na temat każdego wyniku wyszukiwania, w tym jego nazwę, adres URL i datę ostatniego przeszukiwania strony internetowej.
for(int i = 0; i < response.webPages.value.Length; i++) { var webPage = response.webPages.value[i]; Console.WriteLine("name: " + webPage.name); Console.WriteLine("url: " + webPage.url); Console.WriteLine("displayUrl: " + webPage.displayUrl); Console.WriteLine("snippet: " + webPage.snippet); Console.WriteLine("dateLastCrawled: " + webPage.dateLastCrawled); Console.WriteLine(); } Console.WriteLine("Press any key to exit..."); Console.ReadKey();