Чтобы иметь возможность использовать эту библиотеку, вам необходимо включить Google пользовательский поиск API, генерировать учетные данные API и установить проект:
Посетите https://console.developers.google.com и создайте проект.
Посетите https://console.developers.google.com/apis/library/customsearch.googleapis.com и включите «пользовательский поиск» для вашего проекта.
Посетите https://console.developers.google.com/apis/credentials и генерируйте учетные данные API для вашего проекта.
Посетите https://cse.google.com/cse/all и в веб -форме, где вы создаете/редактируете свою пользовательскую поисковую систему включить «Поиск изображения» и для «Сайтов для поиска». Выберите «Поиск всего Интернета, но подчеркните Включен сайты ».
После настройки учетной записи и проекта разработчиков Google вам должны были быть предоставлены разработчики API -ключ и Project CX.
Установите пакет с pypi.org:
> PIP установить Google-Images-Search
# Без переменных среды:> gimages -k __your_dev_api_key__ -c __your_project_cx__ search -q Puppies
# с переменными среды:> Экспорт gcs_developer_key = __ your_dev_api_key __> Экспорт gcs_cx = __ your_project_cx __ >> Gimages Search -q Puppies
# только поиск (без загрузки и изменения размера):> Gimages Search -q щенки
# только поиск и загрузка (без размера):> Gimages Search -q -Q Puppies -d/path/on/your/drive/where/images/sup/be/be/загрузка
# Поиск, скачать и изменить размер:> Gimages Search -q Puppies -d / path / -w 500 -h 500
от Google_images_search Import GoogleImagessearch# Вы можете предоставить API -ключ и CX, используя аргументы,# или вы можете установить переменные среды: gcs_developer_key, gcs_cxgis = googleimagessearch ('your_dev_api_key Ниже для легкой ссылки.# для параметра, помеченного '##':# - Multilect в настоящее время невозможна. Выберите только один вариант# - этот параметр также может быть пропущен из _Search_params, если вы не хотите определять какое -либо значение_SEARCH_PARAMS = {'Q': '...', 'num': 10, 'fileType': 'jpg | GIF | Png ',' Rights ':' cc_publicdomain | cc_attribute | cc_sharealike | cc_noncommercial | cc_nonderived ',' safe ':' Active | High | Medium | off | Safeundefined ', ##' imgtype ':' clipart | face | lineArt | Stock | Фото | анимированная | imgtypeundefined ', ##' imgsize ':' Огромный | икон | большой | средний | маленький | xlarge | xxlarge | imgsizeundefined ', ##' imgdominantcolor ':' Black | Blue | Grey | Green | Orange | Orange | розовый | фиолетовый | красный | Тил | белый | желтый | imgdominantcolorundefined ', ##' imgcolortype ':' color | grey | mono | trans | imgcolortypeundefined '##}#Это будет искать только изображения: gis.search (search_params = _params. )# это будет поиск и загрузки: gis.search (search_params = _search_params, path_to_dir = '/path/')# Это будет поиск, загрузку и изменение размера: gis.search (search_params = _search_params, path_to_dir = '/path = 500, высота = 500) # Поиск сначала, затем загрузите и изменяйте размер после этого: gis.search (search_params = _search_params) для изображения в gis.results (): image.url # Image direct urlimage.referrer_url # urler обработки (источник) image.download ('/path/') # Скачать imageImage.resize (500, 500) # reszize Загруженное imageImage.path # Скачанный
Иногда вы хотели бы сохранить изображения с именем файла по вашему выбору.
из google_images_search import googleimagessearchgis = GoogleImagessearch ('your_dev_api_key', 'your_project_cx') _ search_params = {...} gis.search (search_params = _params, path_to_dir = '...', custom_image_name = 'my_image')
Limit Google API составляет 10 изображений по запросу.
Это означает, что если вы хотите 123 изображения, оно будет разделено на 13 запросов.
Имейте в виду, что получение 123 изображений займет немного больше времени, если проверка изображения включена.
из Google_images_search Import GoogleImageSsearchGIS = GoogleImageSsearch ('your_dev_api_key', 'your_project_cx') _ search_params = {'q': '...', 'num': 123, }# Получить первые 123 изображения: gis.search (search_params = _search_params)# взять следующие 123 изображения из Google Изображения Поиск: gis.next_page () для изображения в gis.results (): ...
Каждый URL -адрес изображения проверяется по умолчанию.
Это означает, что каждый URL -адрес изображения будет проверен, если заголовки могут быть извлечены и проверены.
При этом вам не нужно осторожно относиться к тому, какой URL -адрес изображение на самом деле можно загрузить или нет.
Недостатком является время, необходимое для проверки.
Если вы предпочитаете, вы можете выключить его.
из Google_images_search Import GoogleImagessearch# выключить валидацию с помощью "validate_images" AgrumentGis = GoogleImagessearch ('your_dev_api_key', 'your_project_cx', validate_images = false)
По умолчанию ProgressBar не включен.
Только в CLI ProgressBar включен по умолчанию с помощью библиотеки CRSES.
В программном режиме он может быть включен двумя способами:
Использование контекстуального режима (проклятия)
Использование вашей пользовательской функции ProgressBar
от Google_images_Search Import GoogleImagessearch# Использование вашей пользовательской функции ProgressBarDEF MY_PROGRESSBAR (URL, Прогресс): PRINT (URL + '' + Progress + '%') gis = GoogleImagessearch ('your_dev_api_key', 'your_project_cx', progressbar_fn = my_pressbar) _search_pram_. ..} gis.search (search_params = _search_params)# Использование контекстуального режима (curses) с GoogleImageSsearch ('your_dev_api_key', 'your_project_cx') как gis: _search_params = {...} gis.search (search_params = _search_params) ...
от Google_images_search Import GoogleImagessearchfrom IO Import Bytesiofrom PIL Import Image# В этом случае мы используем PIL, чтобы сохранить байтоэзио в качестве объекта изображения# Таким образом, нам не нужно ждать диска Сохранить / записать время# Изображение просто сохраняется в Память# Этот пример должен отображать 3 изображения щенков! GIS = GoogleImageSsearch ('your_dev_api_key', 'your_project_cx') my_bytes_io = bytesio () gis.search ({'q': 'kuppies', 'num': 3}) для изображения. in gis.results ():# Здесь мы говорим объекту Bytesio вернуться к адресу 0my_bytes_io.seek (0)# взять Raw Image Dataraw_image_data = image.get_raw_data ()# Эта функция записывает данные необработанного изображения в объект. my_bytes_io, raw_image_data)# или без необработанных данных, которые будут автоматически взяты# внутри copy_to () methodimage.copy_to (my_bytes_io)# Мы возвращаемся к адресу 0, чтобы PIL мог прочитать его от начала до Finishmy_bytes_io.seek (0)# Создайте временное изображение objectTemp_img = image.open (my_bytes_io) # Показать его в системе по умолчанию photo viewertemp_img.show ()