Szybki start: wywoływanie interfejsu API wyszukiwania w sieci Web Bing za pomocą języka Python

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 udostępniana 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 pośrednictwem Azure Marketplace.

Skorzystaj z tego przewodnika Szybki start, aby wykonać pierwsze wywołanie interfejsu API wyszukiwania w Internecie Bing. Ta aplikacja w języku Python wysyła żądanie wyszukiwania do interfejsu API i wyświetla odpowiedź JSON. Mimo że ta aplikacja jest napisana w języku Python, interfejs API jest usługą internetową zgodną ze standardem RESTful z większością języków programowania.

Ten przykład działa jako notes Jupyter w usłudze MyBinder. Aby go uruchomić, wybierz wskaźnik launch binder:

Binder

Wymagania wstępne

Tworzenie zasobu platformy Azure

Zacznij korzystać z interfejsu API wyszukiwania w Internecie 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.

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.

Definiowanie zmiennych

  1. Zamień wartość subscription_key na odpowiedni klucz subskrypcji ze swojego konta platformy Azure.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Zadeklaruj punkt końcowy interfejsu API wyszukiwania w sieci Web Bing. Możesz 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.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. Opcjonalnie dostosuj zapytanie wyszukiwania, zastępując wartość .search_term

    search_term = "Azure Cognitive Services"
    

Wysyłanie żądania

Ten kod używa requests biblioteki do wywoływania interfejsu API wyszukiwania w Sieci Web Bing i zwracania wyników jako obiektu JSON. Klucz interfejsu API jest przekazywany do słownika headers, a wyszukiwany termin i parametry zapytania są przekazywane do słownika params.

Aby uzyskać pełną listę opcji i parametrów, zobacz Interfejs API wyszukiwania w sieci Web Bing w wersji 7.

import requests

headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()

Formatowanie i wyświetlanie odpowiedzi

Obiekt search_results zawiera wyniki wyszukiwania i takie metadane jak powiązane zapytania i strony. Ten kod formatuje i wyświetla odpowiedź w przeglądarce za pomocą biblioteki IPython.display.

from IPython.display import HTML

rows = "\n".join(["""<tr>
                       <td><a href=\"{0}\">{1}</a></td>
                       <td>{2}</td>
                     </tr>""".format(v["url"], v["name"], v["snippet"])
                  for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))

Kod przykładowy w witrynie GitHub

Aby uruchomić ten kod lokalnie, zobacz kompletny przykład dostępny w witrynie GitHub.

Następne kroki

Zobacz też