GoogleImageScraper
1.0.0
這是一個用於從Google圖像中檢索和下載圖像的庫。
它使用輸入查詢和參數來搜索和檢索圖像對象。這些圖像可能會受到版權保護,您不應對它們進行任何懲罰,例如將其用於商業用途。該圖書館的靈感來自Hardikvasa的google-images-download ,但增加了一些生活質量的改進,例如也能夠檢索URL。但是,如果沒有他們的工作以及正在努力繼續它的人們,就不可能。
兩個主要功能中都有一個必需的參數和兩個參數:
| 爭論 | 類型 | 描述 |
|---|---|---|
| 詢問: | str,列表 | 包含要搜索的關鍵字的字符串或列表。如果查詢是字符串,則將其分為不同的關鍵字。 |
| 限制 | int | 要搜索的圖像數量。不能比100更大。 *默認為1 * |
| 參數: | dict | 這是一個包含許多可選值的字典,所有這些值將在此處列出。它們分為兩個類別:搜索參數和下載參數 |
| 爭論 | 類型 | 描述 |
|---|---|---|
| download_format | str | 指定文件擴展名,以下載所有圖像。必須是PIL識別的有效圖像文件擴展名。 *注意:這需要大量圖像花費大量時間* |
| 目錄 | str | 這指定了將圖像下載到的目錄名稱。除非指定了目錄或路徑,否則將在目錄中自動創建該函數。 |
| 小路 | str | 這指定了創建下載目錄的路徑。 |
| 暫停 | int float | 這指定了程序將等待以秒為單位的單個圖像的最長時間。 |
| 冗長 | 布爾 | 設置為True ,以打印對控制台的進度更新。 |
| 爭論 | 接受的值 | 描述 |
|---|---|---|
| 顏色 | “紅色”,“橙色”,“黃色”,“綠色”,“藍綠色”,“藍色”,“紫色”,“粉紅色”,“白色”,“灰色”,“灰色”,“黑色”,“棕色”,“棕色” | 通過主要顏色過濾圖像。 |
| color_type | “ full','灰度',“透明” | 通過顏色類型,全彩色,灰度或透明的濾光圖像。 |
| 執照 | 'Creative_commons','其他_licenss' | 通過使用許可證過濾圖像。 |
| 類型 | “臉”,“照片”,“剪貼畫”,“ Lineart”,“ gif” | 通過要搜索的圖像類型的過濾器。 *不要與search_format混淆* |
| 時間 | 'past_day','past_week','past_month','past_year' | 僅查找指定時間發布的圖像。 |
| extack_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函數那樣返回圖像URL列表,而是返回包含有用數據的圖像對象列表,如下所示:
{ '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 | str | 從下載圖像的URL。 *必需的* |
| 姓名 | str | 文件的名稱。不包括文件擴展名。 *必需的* |
| 小路 | str | 將圖像下載到的路徑。 |
| download_format | str | 下載圖像的格式。需要一段時間 |
| 覆蓋 | 布爾 | 是否要覆蓋具有相同名稱的文件。默認為True 。如果False升級FileExistsError ,則文件存在。 |
您有可能無法達到極限參數中指定的圖像數量。當有錯誤下載映像,不是圖像格式或請求時間出現時,就會發生這種情況。下載大量圖像時,這可能會導致您無法達到限制。從下載中返回的字典中的“錯誤”項目是您跟踪這一點的方式。例如,如果您的限制為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' }]