Renvoyer la première source d'image de Google Images

10

Existe-t-il un moyen de récupérer la première source d'image de la recherche Google si j'ai un terme de recherche?

Par exemple, si l'entrée est tomato, ouput seraithttp://www.cksinfo.com/clipart/food/fruits/tomatoes/tomato.png

Merci!

3mpetri
la source

Réponses:

5

L'API de recherche personnalisée Google inclut désormais des images. Vous êtes limité à 100 requêtes / jour avant la facturation, mais c'est le seul moyen légitime d'utiliser Google pour effectuer votre recherche à votre place.

Si le lien redirige:

Styles d'appel

Il existe plusieurs façons d'appeler l'API:

DU REPOS

Le transfert d'état représentatif, dans l'API Google Custom Search, est quelque peu différent du REST traditionnel. Au lieu de fournir un accès aux ressources, l'API donne accès à un service. Par conséquent, l'API fournit un URI unique qui sert de point de terminaison de service.

Vous accédez au point de terminaison du service API de recherche personnalisée Google à l'aide du verbe HTTP GET REST, comme décrit dans les opérations de l'API. Vous transmettez les détails de toutes les demandes de recherche en tant que paramètres de requête.

Le format spécifique de l'URI unique de l'API Google Custom Search est le suivant:

https://www.googleapis.com/customsearch/v1?parameters

où paramètres sont tous les paramètres à appliquer à la requête. Voir Utilisation des résultats de recherche et et Référence des paramètres de requête dans le document Utilisation de REST pour plus de détails.

Voici un exemple de la façon dont cela fonctionne dans l'API de recherche personnalisée Google, qui recherche un moteur de recherche personnalisé de test pour les conférences:

GET https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

REST à partir de JavaScript

Vous pouvez appeler l'API Google Custom Search à l'aide de REST à partir de JavaScript, à l'aide du paramètre de requête de rappel et d'une fonction de rappel. Cela vous permet d'écrire des applications riches qui affichent des données de recherche personnalisée sans écrire de code côté serveur.

L'exemple suivant utilise cette approche pour afficher la première page de résultats de recherche pour la requête tomate:

<html>
  <head>
    <title>JSON/Atom Custom Search API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function hndlr(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // in production code, item.htmlTitle should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>" + item.htmlTitle;
      }
    }
    </script>
    <script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=tomato&callback=hndlr">
    </script>
  </body>
</html>

Vous devez, bien sûr, mettre à jour le src du script pour inclure la valeur de l'entrée à partir de laquelle vous recherchez.

cubap
la source
devrions-nous disposer la clé API publiquement dans l' scriptURL? o_O
T.Todua
3

Pour ce faire, vous pouvez utiliser l' API Google Image Search . Malheureusement, il a été supprimé, vous pouvez donc trouver le nombre de requêtes par jour que vous pouvez limiter. Je ne sais pas s'il existe une nouvelle API pour la remplacer.

John Conde
la source
Il n'y a pas eu de remplacement, et cette API particulière est en fait sur la liste de celles qui seront définitivement arrêtées (par rapport à juste obsolète sans autre calendrier d'arrêt), selon le récent post "Spring cleaning" de l'API , bien que ce soit probablement dans la gamme de trois ans (voir la section 1.3).
Su '24
Hm ok, mais puis-je obtenir le contenu de la page de résultats et analyser le premier lien d'image ou quelque chose? Une solution de contournement?
3mpetri
Vous pouvez effectuer une recherche, puis analyser le code HTML pour obtenir le premier résultat. C'est certainement faisable. Cependant, cela viole probablement les conditions d'utilisation de Google.
John Conde