Interface simple d’accès à BingSearchAPI

Il y a une semaine environ, j’ai eu besoin de chercher une centaine d’image sur le web pour faire un POC d’une appli.

Alors, je me prépare à crawler le site du client. Seulement, dans ce monde javascriptisé, c’est la cata de faire un petit script bâteau qui repère juste les img src.

Alors, partons vers Google: inutile de crawler leur propre page web : elle est en chargement asynchrone. Et google, comme ce sont des gens bien ont décidé de déprécier leur API google search image. Je ne sais même pas si elle est encore opérationnelle.

“Alors”, me dis-je, “allons chez le concurrent direct, vive le marché libre !”.

Du coup, je me retrouve à chercher “bing search image”. Par acquis de conscience, je ne taperai cette requête ni dans google, ni dans bing. Et cela pose problème…

Microsoft a décidé d’améliorer son API (cool), et donc de centraliser l’authentification avec la marketplace Azure (je sens déjà les picotements aux fesses). Une version gratuite existe (5000 requête/mois) et ça marche plutôt bien mais…

La documentation pour accéder à l’API (v2.0) de bing est juste… outdated. Microsoft met en place une documentation assez basique mais elle est sous forme d’un document word protégé, avec des espaces insécables et une difficulté impressionnante à faire des copier/coller.

Las ! j’arrive quand même à me faire une requête, mais l’authentification ne fonctionne pas ! En effet, en python, la méthode favorite (i.e celle qui est tout le temps donnée sur stackoverflow) pour encoder en base 64 des string ne… respecte pas la norme…

Donc, je continue mes recherches, et je tombe sur cette lib. Un petit portage de l’API Bing v2.0 en python. Je l’utilise, j’ai terminé ce que j’avais à faire.

Mais voilà, cette bibliothèque possède selon moi deux grandes faiblesses :

  • elle n’est pas compatible python 3;
  • il faut quand même connaîte la documentation Bing pour l’utiliser.

J’ai donc décidé de forker la bibliothèque pour lui donner trois choses :

  • Un support complet de python 3;
  • Une API fluide qui permet de faire des requêtes simplement sans connaître la vraie nomenclature Bing;
  • Une intégration à pypi pour faire simplement pip install pyBingAPI

Sur le dernier point, je n’ai pas totalement réussi, mais je suis sur le bon chemin.

 

One thought on “Interface simple d’accès à BingSearchAPI

  1. Pingback: Utiliser l’api de recherche Bing | Blog de françois DAMBRINE

Leave a Reply

Your email address will not be published. Required fields are marked *