機械学習のために大量に画像を保存したいんですがWeb上の画像を一気に保存する方法や効率よく保存する方法はありませんか？  
Macを使っています。
CC BY-SA 3.0
2017-09-02T08:00:03.623
37676
2017-09-03T22:52:41.803
23690
question
画像 機械学習
Web上の画像を一気に保存する方法はありませんか？
質問が漠然としているので回答も漠然としたものになります．

一般に我々は画像の場所を知ることができます．さらに画像の場所がわかれば我々はそれを保存することができます．したがって欲しいたくさんの画像の場所をそれぞれ知ることができれば，それを順に保存して行くことができるでしょう．

画像を取りに行く先の取得に関しては様々な手段があります．例えば flickr は 検索ができる
[api](https://www.flickr.com/services/api/flickr.photos.search.html)
を整備しているのでこういったものを使ってもいいでしょう．何らかのサイトで表示されている画像を集めたいならいわゆるスクレイピングの範疇になるかもしれません．とにかく色々な方法で，欲しい画像たちの
url を手に入れましょう．

保存に関してはそれこそ言語ごとに様々な書きようがあります．簡単には `wget` や `curl` を呼びだせばよいでしょうし，たとえば python なら
[`urllib.request.urlretrieve`](https://docs.python.org/3/library/urllib.request.html#urllib.request.urlretrieve)
のような便利な関数もあります．この時，大量のリクエストを一度に投げるのは非常に行儀の悪い（そして場合によってはより具体的に問題になる）ことですので，適当に間隔を空けながら順にダウンロードしていくことになると思います．

* * *

とはいうものの，機械学習を試してみるのが目的であればふつうは公開されているデータセットを使うのが一番というようにも思います（画像の選定，いらんものが入ってないかの確認，必要ならアノテーションの付加，そういう重要な手間が全部省けます）．何か入門書をお使いならしばしばおすすめのデータセットが載っています．手書きの数字認識では
[MNIST](http://yann.lecun.com/exdb/mnist/) が有名で，google
も[なんかやっているみたい](https://research.googleblog.com/2016/09/introducing-open-
images-dataset.html) ですし，英語版 wikipedia
に[一覧記事](https://en.wikipedia.org/wiki/List_of_datasets_for_machine_learning_research)もあるようです．
CC BY-SA 3.0
2017-09-03T07:19:52.453
37693
2017-09-03T07:19:52.453
2901
37676
answer
一般論として実装方法や作法を一通り説明すると本一冊必要になります。

ピンポイントな本がありますので紹介しておきます。

  * Rubyによるクローラー開発技法 ISBN 4797380357
  * Pythonクローリング&スクレイピング ISBN 4774183679

読んだわけではないので内容は保証できません。また同テーマの本はほかにもあります。
CC BY-SA 3.0
2017-09-03T22:52:41.803
37701
2017-09-03T22:52:41.803
5793
37676
answer