Schnellstart: Durchführen einer Neuigkeitensuche mit Python und der REST-API der Bing-News-Suche

Warnung

Am 30. Oktober 2020 wurden die Bing-Suche-APIs aus den Azure KI Services in die Bing-Suchdienste verschoben. Diese Dokumentation wird nur zu Referenzzwecken bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.

Verwenden Sie diese Schnellstartanleitung, um die Bing-Bing-News-Suche-API zum ersten Mal aufzurufen. Diese einfache Python-Anwendung sendet eine Suchabfrage an die API und verarbeitet das JSON-Ergebnis.

Die Anwendung ist zwar in Python geschrieben, an sich ist die API aber ein RESTful-Webdienst und mit den meisten Programmiersprachen kompatibel.

Um dieses Codebeispiel als Jupyter Notebook in MyBinder auszuführen, wählen Sie das Badge zum Starten von Binder aus:

Starten von Binder

Den Quellcode des Beispiels finden Sie auch auf GitHub.

Erstellen einer Azure-Ressource

Beginnen Sie mit der Verwendung der Bing-News-Suche-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 in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.

Erstellen und Initialisieren der Anwendung

Erstellen Sie in Ihrer bevorzugten IDE bzw. in einem Editor eine neue Python-Datei, und importieren Sie das Anforderungsmodul. Erstellen Sie Variablen für Ihren Abonnementschlüssel, Endpunkt und Suchbegriff. 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.

import requests

subscription_key = "your subscription key"
search_term = "Microsoft"
search_url = "https://api.cognitive.microsoft.com/bing/v7.0/news/search"

Erstellen von Parametern für die Anforderung

Fügen Sie Ihren Abonnementschlüssel zu einem neuen Wörterbuch hinzu. Verwenden Sie dabei Ocp-Apim-Subscription-Key als Schlüssel. Gehen Sie bei den Suchparametern genauso vor.

headers = {"Ocp-Apim-Subscription-Key" : subscription_key}
params  = {"q": search_term, "textDecorations": True, "textFormat": "HTML"}

Senden einer Anforderung und Erhalten einer Antwort

  1. Verwenden Sie die Anforderungsbibliothek, um mithilfe Ihres Abonnementschlüssels die API für die visuelle Bing-Suche und die im vorherigen Schritt erstellten Wörterbuchobjekte aufzurufen.

    response = requests.get(search_url, headers=headers, params=params)
    response.raise_for_status()
    search_results = json.dumps(response.json())
    
  2. Greifen Sie auf die Beschreibungen der Artikel zu, die in der Antwort von der in search_results als JSON-Objekt gespeicherten API enthalten sind.

    descriptions = [article["description"] for article in search_results["value"]]
    

Anzeigen der Ergebnisse

Diese Beschreibungen lassen sich dann als Tabelle darstellen, wobei das Suchschlüsselwort fett hervorgehoben ist.

from IPython.display import HTML
rows = "\n".join(["<tr><td>{0}</td></tr>".format(desc)
                  for desc in descriptions])
HTML("<table>"+rows+"</table>")

Nächste Schritte