J'utilise l'API Google de recherche d'images. Jusqu'à hier, cela fonctionnait, mais aujourd'hui, il est écrit "Cette API n'est plus disponible"
Est-il officiellement fermé, ou toute erreur à mes côtés
Demande
https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens
Réponse
{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}
Ceci est le modèle d'URL complet à utiliser
Nous pouvons éliminer les paramètres inutiles.
https://www.googleapis.com/customsearch/v1?q= {searchTerms} & num = {count?} & start = {startIndex?} & lr = {language?} & safe = {safe?} & cx = { cx?} & cref = {cref?} & sort = {sort?} & filter = {filtre?} & gl = {gl?} & cr = {cr?} & googlehost = {googleHost?} & c2coff = {disableCnTwTranslation?} & hq = {hq? } & hl = {hl?} & siteSearch = {siteSearch?} & siteSearchFilter = {siteSearchFilter?} & exactTerms = {exactTerms?} & excludeTerms = {excludeTerms?} & linkSite = {linkSite?} & orTerms = {ouTerms?} & relatedSite = = {dateRestrict?} & lowRange = {lowRange?} & highRange = {highRange?} & searchType = {searchType} & fileType = {fileType?} & rights = {rights?} & imgSize = {imgSize?} & imgType = {imgType?} & imgCouleurType ?} & imgDominantColor = {imgDominantColor?} & alt = json
J'utilise
La réponse que j'ai trouvée utilisait l'API du moteur de recherche personnalisé (CSE) de Google. Notez que cela est limité à 100 demandes gratuites par jour.
cx
et le modifier pour rechercher des imagescx
dans l'URL de votre navigateur.L'URL du noeud final de l'API est https://www.googleapis.com/customsearch/v1
Les paramètres JSON suivants sont utilisés pour cette API:
q
: spécifie le texte de recherchenum
: spécifie le nombre de résultats. Requiert une valeur entière comprise entre 1 et 10 (inclus)start
: le "décalage" pour les résultats, le résultat de la recherche devant commencer. Requiert une valeur entière comprise entre 1 et 101.imgSize
: la taille de l'image. J'ai utilisé "medium"
searchType
: doit être défini sur "image"
filetype
: spécifie le type de fichier de l'image. J'ai utilisé `" jpg ", mais vous pouvez l'omettre si l'extension du fichier n'a pas d'importance pour vous.key
: une clé API, obtenue à partir de https://console.developers.google.com/cx
: l'ID de moteur de recherche personnalisé de la section précédenteCréez simplement une requête GET
en transmettant les paramètres ci-dessus en tant que JSON au point de terminaison de l'API (également répertorié ci-dessus).
Remarque: Si vous définissez une liste de référents dans les paramètres du moteur de recherche, l'affichage de l'URL via votre navigateur ne fonctionnera probablement pas. Vous devrez passer un appel AJAX (ou l’équivalent d’une autre langue) à partir d’un serveur spécifié dans cette liste. Cela fonctionnera uniquement pour les référents spécifiés dans les paramètres de configuration.
Référence: https://developers.google.com/custom-search/json-api/v1/reference/cse/list
Vous pouvez maintenant rechercher des images avec l'API de recherche d'images personnalisée.
Vous pouvez le faire en deux étapes:
1) Obtenez CUSTOM_SEARCH_ID
Accédez à - https://cse.google.ru/cse/all
Ici, vous devez créer un nouveau moteur de recherche. Faites-le et activez la recherche d'images à cet endroit.
Écran (je suis russe ... désolé)
puis obtenez cet identifiant de moteur de recherche. Pour ce faire, appuyez sur le bouton Obtenir le code:
Et trouver la ligne avec cx = "voici votre CUSTOM_SEARCH_ID":
D'accord. C'est fait, maintenant deuxième étape:
2) Obtenez SERVER_KEY
Accédez à la console google - https://console.developers.google.com/project
Appuyez sur le bouton Créer un projet, entrez le nom et les autres informations requises ..__ Choisissez ce projet et sélectionnez Activer Apis Recherchez maintenant le moteur de recherche personnalisé.
Nous devons maintenant accéder aux informations d’identification et créer une nouvelle clé de serveur:
D'accord. Nous pouvons maintenant utiliser la recherche d'images.
Requête:
https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json
Remplacez SERVER_KEY et CUSTOM_SEARCH_ID et appelez cette demande.
Limite: gratuitement, vous ne pouvez rechercher que 100 images par jour ..__ Merci pour votre attention.
S'il s'agit uniquement d'un usage personnel (pas de production) et que vous ne prévoyez pas utiliser Google Recherche d'images, vous pouvez simplement extraire la première URL de l'image des résultats de recherche Google à l'aide de JSOUP .
Par exemple: Code permettant de récupérer l'URL de l'image de la première vignette:
public static String FindImage(String question, String ua) {
String finRes = "";
try {
String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
Element media = doc1.select("[data-src]").first();
String finUrl = media.attr("abs:data-src");
finRes= "<a href=\"http://images.google.com/search?tbm=isch&q=" + question + "\"><img src=\"" + finUrl.replace(""", "") + "\" border=1/></a>";
} catch (Exception e) {
System.out.println(e);
}
return finRes;
}
Guider:
question - terme de recherche d'image
uC - Agent utilisateur du navigateur
Modifiez l'URL de l'API en Recherche personnalisée d'images dans Google
Fournissez les mêmes paramètres avec API KEY et CX.
La Yahoo Boss API est un substitut raisonnable, bien que ce ne soit pas gratuit et que les résultats ne soient pas aussi bons.
MISE À JOUR: L'API de recherche JSON YAHOO BOSS s'arrête le 31 mars 2016