скачать изображения с помощью Google Custom Search api

Я использовал google image api в python для загрузки 20 результатов первого изображения с помощью следующего кода:

import os import sys import time from urllib import FancyURLopener import urllib2 import simplejson searchTerm = "Cat" # Replace spaces ' ' in search term for '%20' in order to comply with request searchTerm = searchTerm.replace(' ','%20') # Start FancyURLopener with defined version class MyOpener(FancyURLopener): version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11' myopener = MyOpener() # Set count to 0 count=0 for i in range(0,4): # Notice that the start changes for each iteration in order to request a new set of images for each loop url = ('https://ajax.googleapis.com/ajax/services/search/images?'+'v=1.0&q='+searchTerm7+'&start='+str(i*4)+'&userip=MyIP&imgsz=xlarge|xxlarge|huge') print url request = urllib2.Request(url, None, {'Referer': 'testing'}) response = urllib2.urlopen(request) # Get results using JSON results = simplejson.load(response) data = results['responseData'] dataInfo = data['results'] # Iterate for each result and get unescaped url for myUrl in dataInfo: count = count + 1 print myUrl['unescapedUrl'] os.chdir(newpath) myopener.retrieve(myUrl['unescapedUrl'],str(num)+'-'+str(count)) # Sleep for one second to prevent IP blocking from Google time.sleep(3) 

Но теперь я хотел бы использовать пользовательский поиск Google для этого, чтобы получить лучший результат. Я понимаю, что я должен зарегистрироваться, чтобы получить APIKey, но я не нашел простого примера в качестве сообщения кода i. Может ли кто-то помочь, я действительно потерялся в документации Google.

Видимо, существует ограничение на бесплатный api, 100 запрос в день, это правильно?

Редактировать: я здесь прямо сейчас, но все еще не работаю

 import os import sys import time from urllib import FancyURLopener import urllib2 import simplejson import cStringIO import pprint searchTerm="Cat" # Start FancyURLopener with defined version class MyOpener(FancyURLopener): version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11' myopener = MyOpener() url='https://www.googleapis.com/customsearch/v1?key=API_KEY&cx=017576662512468239146:omuauf_lfve'+'&q='+searchTerm+'&searchType=image'+'&start=0'+'&imgSize=xlarge|xxlarge|huge' print url request = urllib2.Request(url, None, {'Referer': 'testing'}) response = urllib2.urlopen(request) # Get results using JSON data = json.load(response) pprint.PrettyPrinter(indent=4).pprint(data['items'][0]) 

One Solution collect form web for “скачать изображения с помощью Google Custom Search api”

Вы можете использовать эту клиентскую библиотеку API Google для Python.

Демоверсия:

Вот пример (я его изменяю):

 from apiclient.discovery import build service = build("customsearch", "v1", developerKey="** your developer key **") res = service.cse().list( q='butterfly', cx=' ** your cx **', searchType='image', num=3, imgType='clipart', fileType='png', safe= 'off' ).execute() if not 'items' in res: print 'No result !!\nres is: {}'.format(res) else: for item in res['items']: print('{}:\n\t{}'.format(item['title'], item['link'])) 

Вывод:

 Clipart - Butterfly: http://openclipart.org/image/800px/svg_to_png/3965/jonata_Butterfly.png Animal, Butterfly, Insect, Nature - Free image - 158831: http://pixabay.com/static/uploads/photo/2013/07/13/11/51/animal-158831_640.png Clipart - Monarch Butterfly: http://openclipart.org/image/800px/svg_to_png/110023/Monarch_Butterfly_by_Merlin2525.png 

Да, для Free Edition существует ограничение, и вы можете отслеживать его с консоли разработчика Google:

Вот

Заметка:

Перейдите в свою систему пользовательского поиска , затем выберите свой пользовательский механизм поиска , затем в разделе « Основы » установите параметр « Image search в положение « ON , а Sites to search разделе « Sites to search » выберите « Search the entire web but emphasize included site укажите параметр Search the entire web but emphasize included site .

Ссылки:

  • Сглаживание общего JSON Список диктов или списков в Python
  • Результаты двойного счета Postgres + Sqlalchemy
  • Данные JSON преобразуются в модель django
  • json.decoder.JSONDecodeError: Ожидающее значение: строка 1 столбец 1 (char 0)
  • Пример клиента python jsonrpc2, связанный с удаленным примером hello world с помощью httplib?
  • JSON Schema: проверить значение number или null
  • JSON-кодирование очень длинных итераторов
  • Текстовый формат данных, который поддерживает многострочные строки
  • Получение определенных данных POST в Flask
  • Scrapy возвращает больше результатов, чем ожидалось
  • Python 2.7 на App Engine, simplejson vs native json, кто быстрее?
  • Python - лучший язык программирования в мире.