Démarrage rapide : Utiliser Python pour appeler l'API Recherche Web Bing

Avertissement

Le 30 octobre 2020, les API de recherche Bing sont passées des services Azure AI aux services de recherche Bing. Cette documentation est fournie à des fins de référence uniquement. Pour accéder à la documentation mise à jour, consultez la documentation de l’API Recherche Bing. Pour obtenir des instructions sur la création de nouvelles ressources Azure pour Recherche Bing, consultez Créer une ressource Recherche Bing à l’aide de Place de marché Azure.

Utilisez ce guide de démarrage rapide pour effectuer votre premier appel à l’API Recherche Web Bing. Cette application Python envoie une requête de recherche à l’API et affiche la réponse JSON. Bien que cette application soit écrite en Python, l’API est un service web RESTful compatible avec la plupart des langages de programmation.

Cet exemple est exécuté en tant que bloc-notes Jupyter sur MyBinder. Pour l’exécuter, sélectionnez le badge de lancement de Binder :

Binder

Prérequis

Créer une ressource Azure

Commencez à utiliser l’API Recherche Web Bing en créant une des ressources Azure suivantes :

Ressource Recherche Bing v7

  • Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
  • Utilisez le niveau tarifaire Gratuit pour tester le service, puis effectuez par la suite une mise à niveau vers un niveau payant pour la production.

Ressource multiservice

  • Disponible via le portail Azure jusqu’à ce que vous supprimiez la ressource.
  • Utilisez la même clé et le même point de terminaison pour vos applications, sur plusieurs services Azure AI.

Définir des variables

  1. Remplacez la valeur subscription_key par une clé d’abonnement valide à partir de votre compte Azure.

    subscription_key = "YOUR_ACCESS_KEY"
    assert subscription_key
    
  2. Déclarez le point de terminaison de l’API Recherche Web Bing. Vous pouvez utiliser le point de terminaison global dans le code suivant, ou le point de terminaison de sous-domaine personnalisé affiché dans le portail Azure pour votre ressource.

    search_url = "https://api.bing.microsoft.com/v7.0/search"
    
  3. Si vous le souhaitez, vous pouvez personnaliser la requête de recherche en remplaçant la valeur de search_term.

    search_term = "Azure Cognitive Services"
    

Exécuter une requête

Ce code utilise la bibliothèque requests pour appeler l’API Recherche Web Bing et retourner les résultats en tant qu’objet JSON. La clé API est transmise au dictionnaire headers, tandis que les termes de recherche et les paramètres de requête sont transmis au dictionnaire params.

Pour obtenir la liste complète des options et paramètres, consultez API Recherche Web Bing 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()

Mettre en forme et afficher la réponse

L’objet search_results inclut les résultats de la recherche ainsi que des métadonnées telles que les pages et les requêtes associées. Ce code utilise la bibliothèque IPython.display pour mettre en forme et afficher la réponse dans votre navigateur.

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

Exemple de code sur GitHub

Pour exécuter ce code localement, consultez l’exemple complet disponible sur GitHub.

Étapes suivantes

Voir aussi