何らかの理由で画像を効率的に保存したいことはありますが、一番簡単に実現する方法はスクレイピングです。
スクレイピングは対象のタグを探し、タグに囲まれたデータを効率的に収集します。
本記事では、スクレイピングで画像を保存するアルゴリズムを解説します。
また注意点や、有効な活用方法についても解説します。
目次
画像を見つけ出すアルゴリズム
画像を見つけ出すアルゴリズムを解説します。
画像の表示にもタグが使われている
HTMLを勉強している人は誰でも知っていると思いますが、画像を表示するときは、画像表示用のタグが使われています。
<img src=”sample.jpeg” alt=”test”>
<img src>は画像を表示させるための基本構文で、後は画像のファイル名、必要に応じて画像の意味を説明するalt属性を指定するだけです。
スクレイピングツールを使って画像のアドレスを調べるときは、<img src>を指定すればいいです。
<img src=”img/sample.jpeg” alt=”test”>
上記のタグは画像名の前に「img」が置かれていますが、「img」は画像を置いているディレクトリー(フォルダー)です。
ループ処理をする
大量の画像を保存するには<img src>を探すだけではなく、繰り返し処理をしなくてはいけません。
繰り返し処理はどのプログラム言語にもあると思いますが、だいたい似たような構文です。
一般のスクレイピングツールは自分でコードを改変することができないので、処理はスクレイピングツールに任せるしかありません。
同じページの画像であれば自動的に繰り返し処理をしてくれると思いますが、画像が多くのディレクトリーに格納されている場合は、ドメイン単位でスクレイピングできるツールを選ぶしかありません。
画像を自動保存させるためのアルゴリズム
画像の保存場所を見つけるだけでは不十分です。画像を自動保存させる処理をしなければ、完成したスクレイピングシステムとは言えません。
自動保存はブラウザの機能を利用すればいい
画像ファイルのアドレスにアクセスをしたら、後は保存するだけです。多くのブラウザは、その時点で保存できるようになっていると思います。
問題は如何に保存ボタンを押すかですが、実現するにはブラウザ操作をするしかありません。ブラウザ操作はpythonが便利で、ライブラリもあります。
多くのブラウザはダウンロードフォルダーに保存できるようになっていると思いますが、任意のフォルダーに保存したい人は、プログラミングするしかありません。
画像保存できないサイトは厄介ですが、自分でプログラミングできない人は、画像ダウンローダーを使った方が早いかもしれません。
画像を再利用する人は画像の整理
画像を再利用したい人は画像の整理をした方がいいですが、スクレイピング中に整理するのは大変です。
画像の大きさ、画像の容量で整理することは可能かもしれませんが、内容で保存したい人には向いていません。
正確に整理したい人は、人力でフォルダー分けしましょう。
せっかくダウンロードした画像はオリジナルサイトよりも有効に活用したいものですが、有効に活用するための第一歩は整理です。
スポンサーリンク
画像をスクレイピングする際の注意点
画像をスクレイピングする際の注意点を解説します。
規約を必ず読む
多くの画像配布サイトは、画像の無断ダウンロードを禁止しています。
規約を破ったら裁判沙汰になる可能性があるので、スクレイピングする前に必ず規約を一読してください。
規約に書かれていない場合はスクレイピングし保存してもいいのかもしれませんが、念の為に運営者に尋ねるのがマナーです。
私はさまざまなwebメディアと一緒に仕事をしてきましたが、あるメディアは他のサイトの画像を保存ではなく、引用したことがありました。
それだけでも大激怒されたそうです。
画像は資産なので、規約は必ず読み、念のために運営者に保存の可否を尋ねましょう。
画像の二次配布にも注意する
たとえ画像のスクレイピング、保存が可能だとしても、二次配布となると話が変わります。
二次配布する予定がある人は、その旨を運営者に伝えなくてはいけません。
二次配布で収益を上げるのは論外ですが、無料でも無断で公開するのはマナー違反です。
最近は画像の著作権が声高に叫ばれていますが、著作権だけは必ず守るようにしましょう。
現時点では画像の二次配布で裁判沙汰になった例は聞きませんが、将来的には爆発的に増える可能性があります。
スポンサーリンク
スクレイピングで画像を収集しユニークなサイトを制作しよう
スクレイピングで画像を収集した後は、ユニークなサイトを制作しましょう。
画像連想クイズ
多くの画像があれば、画像クイズサイトが制作できます。
画像を題材にした連想ゲームを、制作することも可能でしょう。
大谷翔平の画像があれば、エンゼルスの球場が連想できるはずです。
このあたりのアイディアはさまざまなパターンが考えられるので、多くの人からアイディアを募ってもいいでしょう。
画像クイズの良さは気楽に参加できることです。
暇つぶしにも打って付けで、工夫次第では人気サイトになる可能性があります。
画像を使ったウィキペディア
ウィキペディアはインターネットの百科事典ですが、画像は少なめです。画像があれば、画像付きのウィキペディアが制作できます。
画像付きの百科事典の良いところは、イメージがわきやすいところです。
日本の名所を紹介するページであれば、名所にちなんだ画像を掲載したらいいでしょう。
本当は芸能人の写真があったら一番受けると思いますが、ほぼ100%芸能事務所から訴えられると思うので、ここでは解説しません。
画像付きのウィキペディアを自ら制作する際は、画像を細かく整理しましょう。
整理するときはフォルダー分けするのが基本ですが、あまりにもフォルダーが多くなりすぎると、どこに保存したのか解らなくなります。
このような問題を発生させないためには、データベースを活用するのが一番です。データベースに画像を挿入し、フォルダー名も記録すれば、探すときはメチャクチャ楽だと思います。
画像を使ったweb雑誌
多くの画像を収集したら、画像を使ったweb雑誌が制作できるでしょう。
雑誌のコンセプトは何でもいいですが、できるだけ文章に合った画像を掲載するのが基本です。
これを具現化させるためには、画像とタグを紐付けましょう。
琵琶湖であれば「湖」「滋賀県」「大きな湖」などのタグが便利です。
タグ付けをした後は、タグで検索できるシステムを構築しましょう。
一般の人はデータベースソフトを使ったら便利です。
データベースソフトには最初から検索機能があるので、わざわざSQL言語を使い検索機能を実装する必要はありません。
まとめ
スクレイピングで画像を収集するアルゴリズムを解説しましたが、画像のスクレイピング自体は簡単です。
ただ自動ダウンロード機能を実装するときは、プログラム知識が必要です。プログラムで実装するときは、ライブラリを使えば便利です。
スクレイピングツールで実装するときは、プログラマー用のスクレイピングツールを使えば便利です。
プログラマー用のスクレイピングツールは基本的なコードを吐き出してくれるので、コード量がかなり少なくなりますよ。
コメントを残す