Szybki start: wysyłanie zapytania do interfejsu API wyszukiwania lokalnych firm Bing w języku 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 dowiedzieć się, jak wysyłać żądania do interfejsu API wyszukiwania lokalnych firm Bing, który jest usługą Azure Cognitive Service. Chociaż ta prosta aplikacja jest napisana w języku Python, interfejs API jest usługą internetową RESTful zgodną z dowolnym językiem programowania umożliwiającym wykonywanie żądań HTTP i analizowanie kodu JSON.
Ta przykładowa aplikacja pobiera lokalne dane odpowiedzi z interfejsu API dla zapytania wyszukiwania.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz bezpłatnie
- Python 2.x lub 3.x.
- Po utworzeniu subskrypcji platformy Azure w Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu kliknij pozycję Przejdź do zasobu.
Uruchamianie kompletnej aplikacji
Poniższy przykład pobiera zlokalizowane wyniki, które są implementowane w następujących krokach:
- Zadeklaruj zmienne, aby określić punkt końcowy na podstawie hosta i ścieżki.
- Określ parametr zapytania.
- Zdefiniuj funkcję wyszukiwania, która tworzy żądanie i dodaje
Ocp-Apim-Subscription-Key
nagłówek. -
Ocp-Apim-Subscription-Key
Ustaw nagłówek. - Utwórz połączenie i wyślij żądanie.
- Wydrukuj wyniki w formacie JSON.
Kompletny kod dla tego pokazu jest następujący:
import http.client, urllib.parse
import json
# Replace the subscriptionKey string value with your valid subscription key.
subscriptionKey = 'YOUR-SUBSCRIPTION-KEY'
host = 'api.cognitive.microsoft.com'
path = '/bing/v7.0/localbusinesses/search'
query = 'restaurant in Bellevue'
params = '?q=' + urllib.parse.quote (query) + '&mkt=en-us'
def get_local():
headers = {'Ocp-Apim-Subscription-Key': subscriptionKey}
conn = http.client.HTTPSConnection (host)
conn.request ("GET", path + params, None, headers)
response = conn.getresponse ()
return response.read ()
result = get_local()
print (json.dumps(json.loads(result), indent=4))