Snelstartgids: Python gebruiken voor het aanroepen van de Bing Webzoekopdrachten-API

Waarschuwing

Op 30 oktober 2020 zijn de Bing Search-API's verplaatst van Cognitive Services naar Bing Search Services. Deze documentatie is alleen bedoeld ter referentie. Zie de bing-documentatie voor zoeken-API voor bijgewerkte documentatie. Zie Een Bing Search-resource maken via de Azure Marketplace voor instructies voor het maken van nieuwe Azure-resources voor Bing Search.

Gebruik deze quickstart om de Bing Web Search API voor de eerste keer aan te roepen. Deze Python-app verzendt een zoekaanvraag naar de API en geeft het JSON-antwoord weer. Hoewel deze toepassing in Python is geschreven, is de API een RESTful-webservice die compatibel is met vrijwel elke programmeertaal.

Dit voorbeeld wordt uitgevoerd als een Jupyter-notitieblok in MyBinder. Als u deze wilt uitvoeren, selecteert u de badge Binder starten:

Binder

Vereisten

Een Azure-resource maken

Begin met het gebruik van de Bing Web Search-API door een van de volgende Azure-resources te maken:

Bing Search v7-resource

  • Beschikbaar via de Azure-portal totdat u de resource verwijdert.
  • Gebruik de gratis prijscategorie om de service uit te proberen, en voer later een upgrade uit naar een betaalde categorie voor productie.

Resource voor meerdere services

  • Beschikbaar via de Azure-portal totdat u de resource verwijdert.
  • Gebruik dezelfde sleutel en hetzelfde eindpunt voor uw toepassingen, op meerdere Cognitive Services.

Variabelen definiëren

  1. Vervang de waarde subscription_key door een geldige abonnementssleutel uit uw Azure-account.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Declareer het eindpunt voor de Bing Webzoekopdrachten-API. U kunt het globale eindpunt in de volgende code gebruiken of het eindpunt voor een aangepast subdomein gebruiken dat wordt weergegeven in de Azure-portal voor uw resource.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. U kunt de zoekquery eventueel aanpassen door de waarde voor search_term te vervangen.

    search_term = "Azure Cognitive Services"
    

Een aanvraag maken

Deze code maakt gebruik van de requests-bibliotheek om de Bing Web Search-API aan te roepen en de resultaten als een JSON-object te retourneren. De API-sleutel wordt doorgegeven in de headers-woordenlijst, en de zoekterm en queryparameters worden doorgegeven in de params-woordenlijst.

Raadpleeg Bing Web Search-API v7 voor een volledige lijst met opties en parameters.

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()

Het antwoord opmaken en weergeven

Het object search_results bevat de zoekresultaten en metagegevens als gerelateerde query's en pagina's. Deze code maakt gebruikt van de IPython.display-bibliotheek om het antwoord in uw browser op te maken en weer te geven.

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))

Voorbeeldcode in GitHub

Als u deze code lokaal wilt uitvoeren, raadpleegt u het volledige voorbeeld op GitHub.

Volgende stappen

Zie ook