Esta es una biblioteca para recuperar y descargar imágenes de Google Images.
Utiliza una consulta de entrada y argumentos para buscar y recuperar objetos de imagen. Estas imágenes pueden estar protegidas bajo derechos de autor, y no debe hacer nada punible con ellas, como usarlas para uso comercial. Esta biblioteca está inspirada en google-images-download por Hardikvasa , pero agrega algunas mejoras de calidad de vida, como poder recuperar las URL también. Sin embargo, esta biblioteca no sería posible sin su trabajo, y las personas que trabajan para continuarla.
Hay un argumento requerido y dos argumentos en ambas funciones principales:
| Argumento | Tipos | Descripción |
|---|---|---|
| consulta: | str, lista | Ya sea una cadena o lista que contiene las palabras clave para buscar. Si la consulta es una cadena, se separará en diferentes palabras clave por espacios. |
| límite | intencionalmente | La cantidad de imágenes para buscar. No puede ser mayor que 100. *El valor predeterminado a 1 * |
| Argumentos: | dictarse | Este es un diccionario que contiene muchos valores opcionales, todos los cuales se enumerarán aquí. Se dividen en dos categorías: argumentos de búsqueda y descargar argumentos |
| Argumento | Tipos | Descripción |
|---|---|---|
| download_format | stri | Especifica una extensión de archivo para descargar todas las imágenes como. Debe ser una extensión de archivo de imagen válida reconocida por PIL . *Nota: Esto lleva considerablemente más tiempo con grandes cantidades de imágenes* |
| directorio | stri | Esto especifica el nombre del directorio para descargar las imágenes. Esto se creará automáticamente en el directorio que se llama la función, a menos que el directorio ya exista o se especifique la ruta . |
| camino | stri | Esto especifica la ruta para crear el directorio de descarga en. |
| se acabó el tiempo | int float | Esto especifica el tiempo máximo que el programa esperará para recuperar una sola imagen en segundos. |
| verboso | bool | Establecer en True para imprimir actualizaciones sobre el progreso a la consola. |
| Argumento | Valores aceptados | Descripción |
|---|---|---|
| color | 'rojo', 'naranja', 'amarillo', 'verde', 'verde azulado', 'azul', 'púrpura', 'rosa', 'blanco', 'gris', 'negro', 'marrón' | Filtro de imágenes por el color dominante. |
| color_type | 'lleno', 'escala de grises', 'transparente' | Filtro de imágenes por tipo de color, a todo color, escala de grises o transparentes. |
| licencia | 'Creative_commons', 'Other_licenses' | Filtrar imágenes por la licencia de uso. |
| tipo | 'cara', 'foto', 'clipart', 'lineart', 'gif' | Filtros por el tipo de imágenes para buscar. * No debe confundirse con Search_Format * |
| tiempo | 'Past_day', 'Past_week', 'Past_month', 'Past_year' | Solo encuentra imágenes publicadas en el tiempo especificado. |
| aspecto_ratio | 'alto', 'cuadrado', 'ancho', 'panorámico' | Especifica la relación de aspecto de las imágenes. |
| Search_format | 'jpg', 'gif', 'png', 'bmp', 'svg', 'webp', 'ico', 'raw' | Filma imágenes que no son un formato especificado. Si desea descargar imágenes como un formato específico, use el argumento 'download_format' en su lugar. |
Hay cuatro funciones disponibles, Descargar , URL , Image_Objects y Download_image , que funciona de manera diferente a las otras:
import GoogleImageScraper
images = GoogleImageScraper ( query , limit , arguments )Esto descargará imágenes basadas en los argumentos. Los valores devueltos seguirán este formato:
{ 'images' : [ images ], 'errors' : Number of Errors }Cada una de las imágenes en la lista de imágenes también seguirá un formato particular:
{ 'path' : Image Path , 'url' : Image Url } import GoogleImageScraper
urls = GoogleImageScraper . urls ( query , limit , arguments )Esta función simplemente devuelve una lista de URL de imagen de los términos de búsqueda.
Esta función es un poco más nicho, pero puede ser útil para algunas personas. En lugar de devolver una lista de URL de imagen como con la función URLS , devuelve una lista de objetos de imagen que contienen datos útiles, estructurados de así:
{ 'url' : Image url , 'thumbnail' : Url of image thumbnail , 'source_url' : The webpage the image was found on , 'source' : The base url of the source }El uso es similar a las funciones anteriores:
import GoogleImageScraper
image_objects = GoogleImageScraper . image_objects ( query , limit , arguments )Use esta función para descargar una imagen a través de URL. Esta función es diferente del resto, ya que se requiere diferentes argumentos de entrada, que se proporcionan a continuación:
| Argumento | Tipos | Descripción |
|---|---|---|
| url | stri | La URL para descargar la imagen desde. *requerido* |
| nombre | stri | El nombre del archivo. No incluya la extensión del archivo. *requerido* |
| camino | stri | El camino para descargar la imagen a. |
| download_format | stri | El formato para descargar la imagen en. Tarda un tiempo más |
| exagerar | bool | Si sobrescribir archivos con el mismo nombre. El valor predeterminado es True . Eleva FileExistsError si existe False y el archivo. |
Existe la posibilidad de que no alcance el número de imágenes especificadas en el argumento límite . Esto ocurre cuando hay un error que descarga una imagen, ya sea que no esté en un formato de imagen, o en el tiempo de solicitud, puede suceder. Al descargar una gran cantidad de imágenes, esto puede hacer que no se alcance su límite. El elemento de 'errores' en el diccionario devuelto de las descargas es su forma de realizar un seguimiento de eso. Por ejemplo, si su límite fuera 100, y 3 imágenes arrojaron errores, recuperaría 97 imágenes, y el elemento de 'errores' sería 3. Ahora, si su límite fue 20, sin embargo, y 3 imágenes arrojarían errores, aún obtendría 20 elementos hacia atrás, y el elemento de los 'errores' de los errores será 0. Esto se debe a que un máximo de 100 URL se puede encontrar en una consulta, por lo que la posibilidad de que los errores sean los errores de la posibilidad de que los errores puedan reducir el límite .
| Error | Descripción |
|---|---|
LimitError | Elevado cuando el argumento límite es superior a 100 o no el tipo adecuado. |
ArgumentError | Planteado cuando se otorga un valor no válido para una discusión |
QueryError | Elevado si no hay consulta o la consulta no es del tipo adecuado |
UnpackError | Elevado si no se encuentran imágenes en la página. |
DownloadError | Exclusivo a la función download_image . Planteado si la imagen no se descargó. |
Incluya estos así:
from GoogleImageScraper . errors import < error >Aquí se enumeran algunos ejemplos reales:
import GoogleImageScraper
urls = GoogleImageScraper . urls ( query = 'cats' , limit = 10 , arguments = { 'color' : 'black' })Resultado:
[ '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' })Resultado:
{ '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' })Resultados:
[{ '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' }]