Schnellstart: Verwenden von Python zum Aufrufen der Bing-Websuche-API

Warnung

Die APIs der Bing-Suche werden von Cognitive Services auf Bing-Suchdienste umgestellt. Ab dem 30. Oktober 2020 müssen alle neuen Instanzen der Bing-Suche mit dem hier dokumentierten Prozess bereitgestellt werden. APIs der Bing-Suche, die mit Cognitive Services bereitgestellt wurden, werden noch drei Jahre lang bzw. bis zum Ablauf Ihres Enterprise Agreement unterstützt (je nachdem, was zuerst eintritt). Eine Anleitung zur Migration finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.

Verwenden Sie diese Schnellstartanleitung, um die Bing-Websuche-API zum ersten Mal aufzurufen. Diese Python-Anwendung sendet eine Suchanforderung an die API und zeigt die JSON-Antwort an. Die Anwendung ist zwar in Python geschrieben, an sich ist die API aber ein RESTful-Webdienst und mit den meisten Programmiersprachen kompatibel.

Dieses Beispiel wird als Jupyter-Notebook unter MyBinder ausgeführt. Wählen Sie zum Ausführen den Badge zum Starten von Binder aus:

Binder

Voraussetzungen

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing-Websuche-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:

Ressource für Bing-Suche v7

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.

Ressource für mehrere Dienste

  • Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
  • Verwenden Sie für Ihre Anwendungen den gleichen Schlüssel und Endpunkt über mehrere Cognitive Services-Instanzen hinweg.

Definieren von Variablen

  1. Ersetzen Sie den Wert von subscription_key durch einen gültigen Abonnementschlüssel aus Ihrem Azure-Konto.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Deklarieren Sie den Endpunkt für die Bing-Websuche-API. Sie können den globalen Endpunkt im folgenden Code oder den Endpunkt der benutzerdefinierten Unterdomäne verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. Optional können Sie die Suchabfrage auch anpassen, indem Sie den Wert für search_term ersetzen.

    search_term = "Azure Cognitive Services"
    

Erstellen einer Anforderung

In diesem Code wird die requests-Bibliothek verwendet, um die Bing-Websuche-API aufzurufen und die Ergebnisse als JSON-Objekt zurückzugeben. Der API-Schlüssel wird im headers-Wörterbuch übergeben, und der Suchbegriff und die Abfrageparameter werden im params-Wörterbuch übergeben.

Eine vollständige Liste der Optionen und Parameter finden Sie unter Bing-Websuche-API v7.

import requests

headers = {"Ocp-Apim-Subscription-Key": subscription_key}
params = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}
response = requests.get(search_url, headers=headers, params=params)
response.raise_for_status()
search_results = response.json()

Formatieren und Anzeigen der Antwort

Das search_results-Objekt enthält die Suchergebnisse und die Metadaten, wie verwandte Abfragen und Seiten. In diesem Code wird die IPython.display-Bibliothek verwendet, um die Antwort in Ihrem Browser zu formatieren und anzuzeigen.

from IPython.display import HTML

rows = "\n".join(["""<tr>
                       <td><a href=\"{0}\">{1}</a></td>
                       <td>{2}</td>
                     </tr>""".format(v["url"], v["name"], v["snippet"])
                  for v in search_results["webPages"]["value"]])
HTML("<table>{0}</table>".format(rows))

Beispielcode auf GitHub

Informationen dazu, wie Sie diesen Code lokal ausführen, finden Sie um vollständigen Beispiel auf GitHub.

Nächste Schritte

Weitere Informationen