Это библиотека для извлечения и загрузки изображений из Google Images.
Он использует входной запрос и аргументы для поиска и поиска объектов изображения. Эти изображения могут быть защищены под авторским правом, и вы не должны делать ничего наказуемого с ними, например, использование их для коммерческого использования. Эта библиотека вдохновлена google-images-download от Hardikvasa , но добавляет несколько улучшений качества жизни, таких как способность получить URL-адреса. Однако эта библиотека была бы невозможна без их работы, и людей, которые работают над тем, чтобы продолжить ее.
Есть один необходимый аргумент и два аргумента в обеих основных функциях:
| Аргумент | Типы | Описание |
|---|---|---|
| запрос: | Str, список | Либо строка или список, содержащий ключевые слова для поиска. Если запрос является строкой, он будет разделен на разные ключевые слова по пространствам. |
| предел | инт | Количество изображений для поиска. Не может быть больше, чем 100. *По умолчанию до 1 * |
| Аргументы: | диктат | Это словарь, содержащий много дополнительных значений, все из которых будут перечислены здесь. Они разделены на две категории: аргументы поиска и скачать аргументы |
| Аргумент | Типы | Описание |
|---|---|---|
| загрузка_format | стр | Определяет расширение файла для загрузки всех изображений как. Должен быть допустимое расширение файла изображения, распознанное PIL . *Примечание: это занимает значительно больше времени с большим количеством изображений* |
| каталог | стр | Это указывает имя каталога для загрузки изображений. Это будет автоматически создаваться в каталоге, в котором вызывает функция, если только каталог уже не существует или указан путь . |
| путь | стр | Это определяет путь для создания каталога загрузки в. |
| тайм -аут | int float | Это определяет максимальное время, когда программа будет ждать, чтобы получить одно изображение за секунды. |
| многословный | буль | Установите True , чтобы печатать обновления о прогрессе в консоли. |
| Аргумент | Принятые ценности | Описание |
|---|---|---|
| цвет | «Красный», «оранжевый», «желтый», «зеленый», «чир», «синий», «фиолетовый», «розовый», «белый», «серый», «черный», «коричневый» | Изображения фильтров по доминирующему цвету. |
| color_type | 'Full', 'Greyscale', 'прозрачный' | Отфильтруйте изображения по цветовому типу, полноценному, серому стилю или прозрачному. |
| лицензия | 'creative_commons', 'other_license' | Фильтруя изображения по лицензии на использование. |
| тип | 'face', 'photo', 'clipart', 'lineart', 'Gif' | Фильтры по типу изображений для поиска. * Не путать с search_format * |
| время | 'past_day', 'past_week', 'past_month', 'past_year' | Только находит изображения, размещенные в указанном времени. |
| Assiem_ratio | «высокий», «квадрат», «широкий», «панорамный» | Указывает соотношение сторон изображений. |
| search_format | 'jpg', 'gif', 'png', 'bmp', 'svg', 'webp', 'ico', 'raw' | Отфильтруйте изображения, которые не являются указанным форматом. Если вы хотите загрузить изображения в качестве конкретного формата, вместо этого используйте аргумент 'Download_format. |
Существует четыре доступных функции: загрузка , URL -адреса , image_objects и download_image , которые работают иначе, чем другие:
import GoogleImageScraper
images = GoogleImageScraper ( query , limit , arguments )Это будет загружать изображения на основе аргументов. Возвращенные значения будут следовать этому формату:
{ 'images' : [ images ], 'errors' : Number of Errors }Каждое из изображений в списке изображений также будет следовать конкретному формату:
{ 'path' : Image Path , 'url' : Image Url } import GoogleImageScraper
urls = GoogleImageScraper . urls ( query , limit , arguments )Эта функция просто возвращает список URL -адресов изображений из поисковых терминов.
Эта функция немного более ниша, но она может быть полезна для некоторых людей. Вместо того, чтобы возвращать список URL -адресов изображений, как с функцией URLS , он возвращает список объектов изображения, содержащих полезные данные, структурированные как SO:
{ 'url' : Image url , 'thumbnail' : Url of image thumbnail , 'source_url' : The webpage the image was found on , 'source' : The base url of the source }Использование похоже на предыдущие функции:
import GoogleImageScraper
image_objects = GoogleImageScraper . image_objects ( query , limit , arguments )Используйте эту функцию, чтобы загрузить изображение через URL. Эта функция отличается от остальных тем, что она принимает разные входные аргументы, указанные ниже:
| Аргумент | Типы | Описание |
|---|---|---|
| URL | стр | URL для загрузки изображения с. *необходимый* |
| имя | стр | Имя файла. Не включайте расширение файла. *необходимый* |
| путь | стр | Путь для загрузки изображения. |
| загрузка_format | стр | Формат для загрузки изображения. Занимает некоторое время |
| перезаписать | буль | Перезаписать файлы с тем же именем. По умолчанию к True . Повышает FileExistsError если существует False и файл. |
Есть вероятность, что вы не можете достичь количества изображений, указанных в предельном аргументе. Это происходит, когда возникает ошибка, загружающая изображение, будь то не в формате изображения или время запроса, это может произойти. При загрузке большого количества изображений это может привести к тому, что ваш предел не достигнут. Элемент «ошибки» в возвращенном словаре от загрузки - это ваш способ отслеживать это. Например, если ваш предел составлял 100, а 3 изображения выбросили ошибки, вы получили бы 97 изображений обратно, а элемент «ошибок» будет 3. Теперь, если ваш лимит составлял 20, и 3 изображения выбросили ошибки, вы все равно получите 20 элементов назад, а элементы «ошибки» будут - 0. Это потому, что максимум из 100 URL можно найти в одном запросе, так что в более высоких ограничениях будут определены ошибки.
| Ошибка | Описание |
|---|---|
LimitError | Поднят, когда ограниченный аргумент выше 100 или нет правильного типа. |
ArgumentError | Поднято, когда для аргумента дана неверная стоимость |
QueryError | Поднят, если нет запроса или запрос не является правильным типом |
UnpackError | Поднято, если на странице не найдено изображения. |
DownloadError | Эксклюзивно для функции download_image . Поднято, если изображение не удалось скачать. |
Включите это так:
from GoogleImageScraper . errors import < error >Здесь перечислены несколько реальных примеров:
import GoogleImageScraper
urls = GoogleImageScraper . urls ( query = 'cats' , limit = 10 , arguments = { 'color' : 'black' })Результат:
[ 'https://www.rd.com/wp-content/uploads/2021/01/GettyImages-1175550351.jpg' ,
'https://www.history.com/.image/ar_4:3%2Cc_fill%2Ccs_srgb%2Cfl_progressive%2Cq_auto:good%2Cw_1200/MTg0NTEzNzgyNTMyNDE2OTk5/black-cat-gettyimages-901574784.jpg' ,
'https://www.thesprucepets.com/thmb/kF3_dQW_JT1ClMQDlISxq3BgeT4=/6843x5132/smart/filters:no_upscale()/facts-about-black-cats-554102-hero-7281a22d75584d448290c359780c2ead.jpg' ,
'https://i.guim.co.uk/img/media/c5e73ed8e8325d7e79babf8f1ebbd9adc0d95409/2_5_1754_1053/master/1754.jpg?width=465&quality=45&auto=format&fit=max&dpr=2&s=065f279099ded1062688e357b155dc29' ,
'https://cdn.cnn.com/cnnnext/dam/assets/141030105303-kiki-irpt.jpg' ,
'https://imagesvc.meredithcorp.io/v3/mm/image?url=https%3A%2F%2Fstatic.onecms.io%2Fwp-content%2Fuploads%2Fsites%2F34%2F2021%2F09%2F27%2Fblack-cat-kitchen-rug-getty-0921-2000.jpg' ,
'https://www.gannett-cdn.com/presto/2021/10/28/USAT/1bf79c6a-5d88-4e64-b398-c40418a79829-XXX_iStock_000017680551Large.jpg' ,
'https://cdn.sanity.io/images/0vv8moc6/dvm360/f28cc9b680aed62edd018ce47a5cbb96c4f78f3b-4860x3024.jpg' ,
'https://vbspca.com/wp-content/uploads/2019/10/Image-e1570199876255.jpeg' ,
'https://ichef.bbci.co.uk/news/976/cpsprodpb/AECE/production/_99805744_gettyimages-625757214.jpg' ] import GoogleImageScraper
images = GoogleImageScraper . download ( query = 'dogs' , limit = 1 , arguments = { 'color' : 'brown' , 'download_format' : 'png' })Результат:
{ 'images' : [{ 'path' : '<path> \ images \ dogs-0.png' , 'url' : 'https://post.medicalnewstoday.com/wp-content/uploads/sites/3/2020/02/322868_1100-800x825.jpg' }], 'errors' : 0 } import GoogleImageScraper
objects = GoogleImageScraper . image_objects ( query = 'birds' , limit = 1 , arguments = { 'color' : 'yellow' })Результаты:
[{ 'thumbnail' : 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQwDI5y3_n2rwFQLZKrBXs5VL_J38zlZVvdZAooD8F8d7lY8ZA9iLEb1-AoBBWpGftpdoc&usqp=CAU' , 'url' : 'https://www.sfvaudubon.org/wp-content/uploads/2020/03/YEWAcrop.jpg' , 'source_url' : 'https://www.sfvaudubon.org/sfv-backyard-bird-identification/' , 'source' : 'sfvaudubon.org' }, { 'thumbnail' : 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR1k5IhGCAPgU468tyPrgkuY9WC3T83zRxzFrTOOUs0OL_kanPG8VPKXV3euijAlzW9AsE&usqp=CAU' , 'url' : 'https://ca.audubon.org/sites/default/files/styles/article_teaser/public/yellowwarbler_peter_latourrette.jpg?itok=PFRtxcGN' , 'source_url' : 'https://ca.audubon.org/birds-0' , 'source' : 'ca.audubon.org' }]