google-mages-downloaderでスクレイピングする(100枚以上できる)
GoogleImagesDownloaderとは
pythonのモジュールであり,Google画像検索から,自動で画像をスクレイピングしてくれるというもの. Beautifulsoupを以前は使用していたが,HTMLの知識がなくても柔軟に使えるのでこちらに乗り換えました笑 機械学習のデータセット作りにすごく便利 ですので皆さんも是非使用してみてください.
Let's try
百聞は一見に如かずということで,やってみましょう.
(注意)GoogleChromeも必要ですので,ダウンロードしておきましょう.
ググればインストール方法は出てきますので,pythonのインストールはがんばってください.
ちなみに私の環境は,
- MacBook Pro
- macOS Catalina 10.15.7
- Anaconda(latest)
- Python3.6
です.
GoogleImagesDownloaderのインストール
単純に$ pip install google-images-download
でもできますが,pipのレポジトリに上がっているものはうまく実行できなかった気がします.
なので,githubから直接インストールしましょう.
$ pip install git+https://github.com/Joeclinton1/google-images-download.git
ChromeDriverをカレントディレクトリへダウンロード
こちらからChromedriverもダウンロードしましょう.
これがないと100枚以上ダウンロードできないです.
ChromeDriver - WebDriver for Chrome - Downloads
(注意) OS, Chromeのバージョンを合わせてダウンロードしましょう.
JupyterNotebookにて実行
コマンド上でも実行できますが,あとでファイルの処理を行うことを考えjupyter上でできるようにします.
from google_images_download import google_images_download import os
にてモジュールのインポート.
それから,
kword = "猫" #キーワード指定 picformat="jpg" #拡張子指定 out_dir = './img' #出力フォルダ if not os.path.exists(out_path): os.makedirs(out_path) arguments = { "keywords":kword, # 検索キーワード "limit":100, #枚数 "print_urls":True, #ダウンロード状態の表示 "format":picformat, #拡張子指定 "output_directory":out_dir, "chromedriver":"./chromedriver", "related_images":True, "size":"large", } #dictで各パラメータを渡す
response = google_images_download.googleimagesdownload() paths = response.download(arguments) # Downloadの開始
もしエラーが出たら...
以下のところを確認してください.