[PYTHON] Enregistrer l'image du chien à partir de la recherche d'images Google

*! !! Cette API Google Image n'est plus disponible! !!

référence

Préparation

python


sudo pip install httplib2

code

get_imgs.py


#-*- coding:utf-8 -*-
import json
import os
import urllib2
import httplib2
import shutil

# search_Rechercher des liens d'images de mots
def get_img_urls(search_word, n):
    img_url=[]
    images_per_request=8
    # https://developers.google.com/image-search/v1/jsondevguide
    url = "http://ajax.googleapis.com/ajax/services/search/images?q={0}&v=1.0&imgsz=huge&rsz="+str(images_per_request)+"&start={1}"
    urlencoded = urllib2.quote(search_word)
    # search_Obtenez n URL d'image qui correspondent au mot
    for i in range(n):
        res = urllib2.urlopen(url.format(urlencoded, i*images_per_request))
        data = json.load(res)
        img_url += [result["url"] for result in data["responseData"]["results"]]
    return img_url

#Enregistrez le fichier image à l'URL
def url_download(search_word,urls):
    if os.path.exists(search_word)==False:
        os.mkdir(search_word)
    opener = urllib2.build_opener()
    http = httplib2.Http(".cache")
    #Image DL pour le nombre d'URL
    for i in range(len(set(urls))):
        try:
            fn, ext = os.path.splitext(urls[i])
            response, content = http.request(urls[i])
            with open(str(i)+ext, 'wb') as f:
                f.write(content)
            shutil.move((str(i)+ext).encode("utf-8"), search_word)
        except:
            continue

#Il a échoué lorsque n était égal à 10. 8 est ok
def main(search_word, n):
    urls = get_img_urls(search_word, n)
    url_download(search_word,urls)

if __name__ == '__main__':
    main("Chiots Chiwawa", 2)
    main("Chiwawa assis", 2)

Puisque * images_per_request = 8 est défini, 2 * 8 images seront acquises dans l'exemple ci-dessus.

Recommended Posts

Enregistrer l'image du chien à partir de la recherche d'images Google
[Python] Téléchargez l'image d'origine à partir de la recherche d'images Google
Obtenez des images Google Recherche d'images dans leur taille d'origine
Recherchez et enregistrez l'image de Tomono Kafu depuis Twitter
Traitement d'image | prédire les espèces à partir d'images
Obtenez des images par recherche par mot-clé sur Twitter
Collection d'images à l'aide de l'API Google Custom Search
Grattage d'images ②-Obtenez des images de bing, yahoo, Flickr
[Selenium] Si vous ne pouvez pas gratter la recherche d'images Google, je vais explorer et collecter uniquement les images Samne.
Obtenez l'image de "Suzu Hirose" par recherche d'images Google.
Détecter l'état de recherche perdu à partir de l'historique des requêtes de recherche Google Chrome
Texte extrait de l'image
Collectez un grand nombre d'images à l'aide de l'API de recherche d'images de Bing
Appelez l'API Bing Image Search v5 depuis Python pour collecter des images