*! !! Cette API Google Image n'est plus disponible! !!
python
sudo pip install httplib2
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