Snabbstart: Skicka en fråga till API:et för sökning efter lokala företag i Bing i Python
Varning
Den 30 oktober 2020 flyttades Bing-sökning-API:erna från Azure AI-tjänster till Bing-sökning Services. Den här dokumentationen tillhandahålls endast som referens. Uppdaterad dokumentation finns i dokumentationen för API:et för Bing-sökning. Anvisningar om hur du skapar nya Azure-resurser för Bing-sökning finns i Skapa en Bing-sökning resurs via Azure Marketplace.
Använd den här snabbstarten för att lära dig hur du skickar begäranden till API:et för sökning efter lokala företag i Bing, som är en Azure Cognitive Service. Även om det här enkla programmet är skrivet i Python är API:et en RESTful-webbtjänst som är kompatibel med alla programmeringsspråk som kan göra HTTP-begäranden och parsa JSON.
Det här exempelprogrammet hämtar lokala svarsdata från API:et för en sökfråga.
Förutsättningar
- En Azure-prenumeration – Skapa en kostnadsfritt
- Python 2.x eller 3.x.
- När du har din Azure-prenumeration för att skapa en Bing-sökning resurs i Azure Portal för att hämta din nyckel och slutpunkt. När den har distribuerats klickar du på Gå till resurs.
Kör hela programmet
I följande exempel hämtas lokaliserade resultat som implementeras i följande steg:
- Deklarera variabler för att specificera slutpunkten med hjälp av värd och sökväg.
- Ange frågeparametern.
- Definiera sökfunktionen som skapar begäran och lägger till
Ocp-Apim-Subscription-Key
huvudet. Ocp-Apim-Subscription-Key
Ange rubriken.- Upprätta anslutningen och skicka begäran.
- Skriv ut JSON-resultaten.
Den fullständiga koden för den här demonstrationen är följande:
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))