これは、Google画像から画像を取得およびダウンロードするライブラリです。
入力クエリと引数を使用して、画像オブジェクトを検索して取得します。これらの画像は著作権の下で保護される場合があります。商業用に使用するために使用するように、それらを罰することは何もしないでください。このライブラリは、 Hardikvasaによるgoogle-images-downloadに触発されていますが、URLを取得できるなど、いくつかの質の高い生活の改善が追加されています。しかし、このライブラリは、彼らの仕事とそれを継続するために働いている人々がなければ不可能です。
両方の主な機能には、必要な引数と2つの引数があります。
| 口論 | 種類 | 説明 |
|---|---|---|
| クエリ: | str、リスト | 検索するキーワードを含む文字列またはリストのいずれか。クエリが文字列の場合、スペースによって異なるキーワードに分離されます。 |
| 制限 | int | 検索する画像の量。 100を超えることはできません。 *デフォルトは1 *になります |
| 議論: | dict | これは、多くのオプションの値を含む辞書であり、これらはすべてここにリストされます。それらは2つのカテゴリに分かれています:引数を検索して引数をダウンロードする |
| 口論 | 種類 | 説明 |
|---|---|---|
| download_format | str | すべての画像をダウンロードするファイル拡張子を指定します。 PILによって認識される有効な画像ファイル拡張機能である必要があります。 *注:大量の画像でかなり時間がかかります* |
| ディレクトリ | str | これは、画像をダウンロードするディレクトリ名を指定します。これは、ディレクトリが既に存在するかパスが指定されている場合を除き、ディレクトリに自動的に作成されます。 |
| パス | str | これは、ダウンロードディレクトリを作成するパスを指定します。 |
| タイムアウト | int float | これは、プログラムが数秒で単一の画像を取得するのを待つ最大時間を指定します。 |
| 冗長 | ブール | コンソールへの進行状況に関する更新を印刷するためにTrueに設定します。 |
| 口論 | 受け入れられた値 | 説明 |
|---|---|---|
| 色 | 「赤」、「オレンジ」、「黄色」、「緑」、「ティール」、「青」、「紫」、「ピンク」、「白」、「グレー」、「黒」、「茶色」 | 支配的な色で画像をフィルターします。 |
| color_type | 「フル」、「グレースケール」、「透明」 | 色の種類、フルカラー、グレースケール、または透明な画像をフィルターします。 |
| ライセンス | 'creative_commons'、 'other_licenses' | 使用ライセンスで画像をフィルタリングします。 |
| タイプ | 「顔」、「写真」、「クリップアート」、「Lineart」、「GIF」 | 検索する画像の種類によるフィルター。 * search_formatと混同しないでください* |
| 時間 | 'past_day'、 'past_week'、 'past_month'、 'past_year' | 指定された時間に投稿された画像のみが見つかります。 |
| aspect_ratio | 「背が高い」、「広場」、「ワイド」、「パノラマ」 | 画像のアスペクト比を指定します。 |
| search_format | 'jpg'、 'gif'、 'png'、 'bmp'、 'svg'、 'webp'、 'ico'、 'raw' | 指定された形式ではない画像をフィルターします。画像を特定の形式としてダウンロードしたい場合は、代わりに「download_format」引数を使用します。 |
利用可能な4つの機能、ダウンロード、 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のリストを返すだけです。
この機能はもう少しニッチですが、一部の人にとっては役立つかもしれません。 URLS関数のような画像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を上げます。 |
Limit引数で指定された画像の数に到達しない可能性があります。これは、画像のダウンロードエラーがある場合に発生します。画像形式ではない場合でも、リクエストのタイムが発生する可能性があります。大量の画像をダウンロードすると、制限が到達しない可能性があります。ダウンロードから返された辞書の「エラー」アイテムは、それを追跡する方法です。たとえば、制限が100で、3つの画像がエラーを投げた場合、97の画像を取り戻し、 「エラー」アイテムは3になります。ただし、制限が20になり、3つの画像がエラーを投げた場合でも、 「エラー」アイテムが0になります。
| エラー | 説明 |
|---|---|
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' }]