Sdílet prostřednictvím


Rychlý start: Odeslání dotazu do rozhraní API Bingu pro místní obchodní vyhledávání v Pythonu

Upozornění

30. října 2020 se rozhraní API Vyhledávání Bingu přesunula ze služeb Azure AI na Vyhledávání Bingu Services. Tato dokumentace je k dispozici pouze pro referenci. Aktualizovanou dokumentaci najdete v dokumentaci k rozhraní API Bingu pro vyhledávání. Pokyny k vytváření nových prostředků Azure pro vyhledávání Bingu najdete v tématu Vytvoření prostředku Vyhledávání Bingu prostřednictvím Azure Marketplace.

V tomto rychlém startu se dozvíte, jak odesílat požadavky do rozhraní API Bingu pro místní podnikové vyhledávání, což je služba Azure Cognitive Service. I když je tato jednoduchá aplikace napsaná v Pythonu, rozhraní API je webová služba RESTful kompatibilní s jakýmkoli programovacím jazykem, který dokáže provádět požadavky HTTP a parsovat JSON.

Tato ukázková aplikace získá data místní odpovědi z rozhraní API pro vyhledávací dotaz.

Požadavky

Spuštění úplné aplikace

Následující příklad získá lokalizované výsledky, které jsou implementovány v následujících krocích:

  1. Deklarujte proměnné, které za použití hostitele a cesty určují koncový bod.
  2. Zadejte parametr dotazu.
  3. Definujte vyhledávací funkci, která vytvoří požadavek a přidá hlavičku Ocp-Apim-Subscription-Key .
  4. Ocp-Apim-Subscription-Key Nastavte záhlaví.
  5. Nastavte připojení a odešlete požadavek.
  6. Zobrazte výsledky ve formátu JSON.

Kompletní kód této ukázky je následující:

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))

Další kroky