Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Warnung
Am 30. Oktober 2020 wurden die Bing Search-APIs von Azure AI-Diensten zu Bing Search Services verschoben. Diese Dokumentation wird nur zur Referenz bereitgestellt. Aktualisierte Dokumentation finden Sie in der Bing-Such-API-Dokumentation. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Bing Search-Ressource über den Azure Marketplace.
Verwenden Sie diese Schnellstartanleitung, um Ihren ersten Aufruf an die Bing Entity Search-API durchzuführen und die JSON-Antwort anzuzeigen. Diese einfache Python-Anwendung sendet eine Nachrichtensuchabfrage an die API und zeigt die Antwort an. Der Quellcode für dieses Beispiel ist auf GitHub verfügbar.
Obwohl diese Anwendung in Python geschrieben ist, ist die API ein RESTful-Webdienst, der mit den meisten Programmiersprachen kompatibel ist.
Voraussetzungen
- Python 2.x oder 3.x
Erstellen einer Azure-Ressource
Beginnen Sie mit der Verwendung der Bing Entity Search-API, indem Sie eine der folgenden Azure-Ressourcen erstellen.
Bing-Entity-Search-Ressource
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie das kostenlose Preisniveau, um den Dienst auszuprobieren und später auf eine kostenpflichtige Stufe für die Produktion zu aktualisieren.
- Die Bing-Entitätssuche wird auch in kostenpflichtigen Ebenen der Bing Search v7-Ressource angeboten.
Multi-Service-Ressource
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie denselben Schlüssel und Endpunkt für Ihre Anwendungen in mehreren Azure AI-Diensten.
Erstellen und Initialisieren der Anwendung
Erstellen Sie eine neue Python-Datei in Ihrer bevorzugten IDE oder Ihrem Bevorzugten Editor, und fügen Sie die folgenden Importe hinzu. Erstellen Sie Variablen für Ihren Abonnementschlüssel, Endpunkt, Markt und Suchabfrage. Sie können den globalen Endpunkt im folgenden Code verwenden oder den benutzerdefinierten Unterdomänenendpunkt verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.
import http.client, urllib.parse import json subscriptionKey = 'ENTER YOUR KEY HERE' host = 'api.bing.microsoft.com' path = '/v7.0/search' mkt = 'en-US' query = 'italian restaurants near me'Erstellen Sie eine Anforderungs-URL, indem Sie die Marktvariable an den
?mkt=Parameter anfügen. Url-codieren Sie Ihre Abfrage, und fügen Sie sie an den&q=Parameter an.params = '?mkt=' + mkt + '&q=' + urllib.parse.quote (query)
Senden einer Anforderung und Abrufen einer Antwort
Erstellen Sie eine Funktion namens
get_suggestions().Fügen Sie in dieser Funktion Ihren Abonnementschlüssel als Schlüssel in ein Wörterbuch mit
Ocp-Apim-Subscription-Keyhinzu.Verwenden Sie
http.client.HTTPSConnection(), um ein HTTPS-Clientobjekt zu erstellen. Senden Sie eineGET-Anfrage mitrequest(), Ihrem Pfad und Parametern sowie den Kopfzeileninformationen.Speichern Sie die Antwort mit
getresponse(), und geben Sie zurückresponse.read().def get_suggestions (): headers = {'Ocp-Apim-Subscription-Key': subscriptionKey} conn = http.client.HTTPSConnection (host) conn.request ("GET", path + params, None, headers) response = conn.getresponse () return response.read()Rufen Sie
get_suggestions()auf und geben Sie die JSON-Antwort aus.result = get_suggestions () print (json.dumps(json.loads(result), indent=4))
Beispiel für JSON-Antwort
Eine erfolgreiche Antwort wird in JSON zurückgegeben, wie im folgenden Beispiel gezeigt:
{
"_type": "SearchResponse",
"queryContext": {
"originalQuery": "italian restaurant near me",
"askUserForLocation": true
},
"places": {
"value": [
{
"_type": "LocalBusiness",
"webSearchUrl": "https://www.bing.com/search?q=sinful+bakery&filters=local...",
"name": "Liberty's Delightful Sinful Bakery & Cafe",
"url": "https://www.contoso.com/",
"entityPresentationInfo": {
"entityScenario": "ListItem",
"entityTypeHints": [
"Place",
"LocalBusiness"
]
},
"address": {
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98112",
"addressCountry": "US",
"neighborhood": "Madison Park"
},
"telephone": "(800) 555-1212"
},
. . .
{
"_type": "Restaurant",
"webSearchUrl": "https://www.bing.com/search?q=Pickles+and+Preserves...",
"name": "Munson's Pickles and Preserves Farm",
"url": "https://www.princi.com/",
"entityPresentationInfo": {
"entityScenario": "ListItem",
"entityTypeHints": [
"Place",
"LocalBusiness",
"Restaurant"
]
},
"address": {
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98101",
"addressCountry": "US",
"neighborhood": "Capitol Hill"
},
"telephone": "(800) 555-1212"
},
. . .
]
}
}