[PYTHON] Comment utiliser l'API Bing Search
Contrainte
- Gratuit jusqu'à 5000 demandes par mois
- 10000 demandes de 20 $, il transition pay-as-you-go
- https://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44
Comment utiliser
- Créez un compte Microsoft et obtenez une clé API
- La clé API est utilisée pour l'authentification de base pour les terminaux
- CLÉ API pour le nom d'utilisateur et le mot de passe
- Certains paramètres contiennent $ et ne sont pas accessibles s'ils sont encodés
- Pour une raison quelconque, j'ai reçu une mauvaise requête de 400 lors de l'accès à l'aide d'urllib.
- Le même phénomène peut être confirmé avec un débordement de pile, etc., et il est recommandé d'utiliser le module de requêtes comme solution. Je ne sais pas pourquoi
- Les requêtes ne sont pas reconnues sauf si elles sont incluses dans un seul avertissement
- Notez que $ format disparaît de l'URL qui va dans le __next renvoyé
- Le nombre de recherches ne peut pas être obtenu
- Il semble que le saut ne puisse être spécifié que jusqu'à 1000. Puisque 50 est le maximum pour le haut, vous ne pouvez obtenir que 1050
Exemple de code
bingsearch.py
#! /usr/bin/python
# -*- coding:utf-8 -*-
import urllib
import requests
import json
NUM = 100
key = '' #Entrez la clé API
url = 'https://api.datamarket.azure.com/Bing/Search/Web?'
json_param = '&$format=json'
param = {
'Query':"''", #Poser une question
}
req_url = url + urllib.urlencode(param)
for i in range(0,NUM):
r = requests.get(req_url + json_param,auth=(key,key)).json
print json.dumps(r)
req_url = r['d']['__next']