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
- Předplatné Azure – Vytvořte si ho zdarma
- Python 2.x nebo 3.x.
- Jakmile budete mít předplatné Azure, vytvořte prostředek Vyhledávání Bingu v Azure Portal, abyste získali klíč a koncový bod. Po nasazení klikněte na Přejít k prostředku.
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:
- Deklarujte proměnné, které za použití hostitele a cesty určují koncový bod.
- Zadejte parametr dotazu.
- Definujte vyhledávací funkci, která vytvoří požadavek a přidá hlavičku
Ocp-Apim-Subscription-Key
. -
Ocp-Apim-Subscription-Key
Nastavte záhlaví. - Nastavte připojení a odešlete požadavek.
- 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))