Snabbstart: Använda Python för att anropa API för webbsökning i Bing

Varning

Bing Search-API:er flyttas från Cognitive Services till Bing Search Services. Från och med 30 oktober 2020 måste alla nya instanser av Bing Search etableras enligt den process som dokumenteras här. Bing Search-API:er som etablerats med Cognitive Services kommer att stödjas under de kommande tre åren eller till slutet av företagsavtal, beroende på vilket som inträffar först. Migreringsanvisningar finns i Bing Search Services.

Använd den här snabbstarten för att göra ditt första anrop Bing Webbsökning API. Det här Python-programmet skickar en sökbegäran till API:et och visar JSON-svaret. Även om det här programmet är skrivet i Python är API:et en RESTful-webbtjänst som är kompatibel med de flesta programmeringsspråk.

Det här exemplet körs som en Jupyter-anteckningsbok på MyBinder. Om du vill köra den väljer du aktivitetsikonen för att starta binder:

Binder

Förutsättningar

Skapa en Azure-resurs

Börja använda API för webbsökning i Bing genom att skapa någon av följande Azure-resurser:

Bing-sökning v7-resurs

  • Tillgängligt via Azure Portal tills du tar bort resursen.
  • Använd den kostnads fria pris nivån för att testa tjänsten och uppgradera senare till en betald nivå för produktion.

Resurs för flera tjänster

  • Tillgängligt via Azure Portal tills du tar bort resursen.
  • Använd samma nyckel och slut punkt för dina program i flera Cognitive Services.

Definiera variabler

  1. Ersätt värdet subscription_key med en giltig prenumerationsnyckel från ditt Azure-konto.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Deklarera slutpunkten för API för webbsökning i Bing. Du kan använda den globala slutpunkten i följande kod eller använda den anpassade slutpunkten för underdomänen som visas i Azure Portal för din resurs.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. Du kan också anpassa sökfrågan genom att ersätta värdet för search_term .

    search_term = "Azure Cognitive Services"
    

Skapa en begäran

Den här koden använder requests biblioteket för att anropa Bing Webbsökning API och returnera resultatet som ett JSON-objekt. API-nyckeln skickas i headers-ordlistan, och söktermen samt frågeparametrarna skickas i params-ordlistan.

En fullständig lista över alternativ och parametrar finns i Bing Webbsökning 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()

Formatera och visa svaret

-objektet search_results innehåller sökresultaten och metadata som relaterade frågor och sidor. Den här koden använder IPython.display-biblioteket för att formatera och visa svaret i webbläsaren.

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

Exempelkod på GitHub

Om du vill köra den här koden lokalt kan du se det fullständiga exemplet som finns på GitHub.

Nästa steg

Se även