Team無限うなぎ 2010.12
HQK03132@nifty.ne.jp
CSMDownは、インターネットに公開されている画像ファイルを自動で収集するためのプログラムです。
任意のURLと任意のダウンロード先を指定して実行を開始すると、指定したURLに含まれる画像ファイルを自動で取得し、指定したダウンロード先ディレクトリに保存します。
また、単一のURLに含まれるデータを取得するだけでなく、HTML内に記載されたリンクを辿った先の画像ファイルを取得することもできます。
特定のWebサイトに載っている画像を一気にまとめて取得したい場合などにご利用ください。
CSMDownの処理対象になるファイルやWebページの条件を以下に示します。
種別 | 条件 | 処理対象になるか |
---|---|---|
画像 | <IMG>タグで配置された画像ファイル | ○ |
<A>タグで直接リンクされた画像ファイル | ○ | |
JavaScriptの動作の結果、表示される画像 | × | |
FlashやSilverlightなどのプラグインによって表示される画像 | × | |
リンク | <A>タグで記述されたリンク | ○ |
<FRAME>タグで記述されたフレーム内部のページ | ○ | |
<IFRAME>タグで記述されたインナーフレーム内部のページ | ○ | |
<FORM>に対するsubmitで遷移する遷移先ページ | × | |
JavaScriptの動作による遷移先ページ | × | |
ページがリダイレクトされる場合のリダイレクト先 | × |
CSMDownは、.NET Framework 4を用いて作られています。
実行するためには、.NET Framework 4のランタイムが必要です。インストールされていないPC上では動作しませんので、必要に応じてインストールしてください。
CSMDown.exeを実行してください。
なお、実行オプション指定や、ファイルの関連付けなどの機能はありません。
プログラムを起動すると、以下のような画面が表示されます。
画面上で設定項目を設定して、「開始」ボタンを押すことで、ダウンロードを開始します。
起点となるページのURLを指定します。
このURLから取得したHTMLに含まれる画像をダウンロードし、リンクを辿ります。
「URL」で指定したページからは画像をダウンロードせず、存在するリンクのみを使用するときにオンにします。
リンク集のようなページを指定して実行を開始するときに指定すると、無駄なダウンロードの試行を減らすことができます。
ダウンロードした画像の保存先を指定します。
リンクを辿るときに、リンク先のURLの先頭が、ここで指定する内容と一致するリンクを先に処理します。
「優先のみ」を合わせて指定しておくことで、特定のサイトにある画像のみを取得させることができます。
指定が無い場合は、特に優先度を決めずに順に処理します。
リンクを辿るときに、「優先Path」で指定したパスから始まるURLのみを取り扱うようにしたいときに、オンにします。
特定のドメイン以下のサイトだけを対象にしたい場合などに指定すると、無駄なリンクを辿らないようになります。
通常はチェック状態にしておくと良いです。
「URL」で指定したページのHTMLに含まれるリンクを辿るとき、指定したリンク以降のURLのみを対象にします。
ポータルサイトのようなページを指定してダウンロードを開始するとき、ページの上部に余計なリンクが多数あるような場合は「StartLink」を指定しておくことで、目的の位置からダウンロードを開始できるようになります。
「URL」で指定したページのHTMLに含まれるリンクを辿るとき、指定したリンクより後のURLを対象から外します。
ダウンロード対象の範囲が決まっているときに指定しておくと、余計なダウンロード処理をせずに終了させられます。
ダウンロードしようとしているファイルが、ダウンロード先に既に存在する場合は、ファイルをダウンロードせずにそのまま次に進みます。
ダウンロードしようとしているファイルが、ダウンロード先に既に存在する場合は、ファイル名の後ろに「_00001」などの数字を付記して、ファイル名が重ならないように加工してからダウンロードします。
ダウンロードしようとしているファイルが、ダウンロード先に既に存在する場合は、既存のファイルを上書きしてダウンロードします。
ダウンロード先フォルダに、URLに対応したディレクトリを作成してダウンロードします。
作成されるディレクトリは以下のフォーマットになります。
[ダウンロード先]\[ドメイン名]\[パス名]\
たとえば、ダウンロード先フォルダが「D:\」で、画像ファイル「http://www.mugenunagi.com/a/b/c/abc.png」をダウンロードする場合は、以下のパスにファイルが保存されます。
D:\www.mugenunagi.com\a\b\c\abc.png
ディレクトリの構造が比較的簡単で、複数のファイルが固まって配置されているような場合に指定してください。
ダウンロード先フォルダに、URLパス名に対応したディレクトリを作成してダウンロードします。
作成されるディレクトリは以下のフォーマットになります。
[ダウンロード先]\[ドメイン名]_[パス名]\[ファイル名]
たとえば、ダウンロード先フォルダが「D:\」で、画像ファイル「http://www.mugenunagi.com/a/b/c/abc.png」をダウンロードする場合は、以下のパスにファイルが保存されます。
D:\www.mugenunagi.com_a_b_c\abc.png
複数のファイルが固まって配置されているけれども、深いディレクトリ構造を作りたくない場合に指定してください。
ダウンロード先フォルダに、ダウンロードしたファイルをそのまま配置します。
たとえば、ダウンロード先フォルダが「D:\」で、画像ファイル「http://www.mugenunagi.com/a/b/c/abc.png」をダウンロードする場合は、以下のパスにファイルが保存されます。
D:\abc.png
ディレクトリ構造が複雑だったり、ダウンロードもとのアドレスに興味が無い場合はに指定してください。
ダウンロードした画像ファイルの大きさが、指定した大きさよりも小さいときに、そのファイルを削除します。
ページ上に配置してあるバナーやアイコン画像などが不要な場合に指定してください。
画像ファイルをダウンロードするとき、ファイル名に「.」が含まれないファイルを無視したい場合に指定してください。
通常はチェックした状態で問題ありません。
画像を1枚ダウンロードするたびに、指定した時間だけ待ちます。
画面上の「プレビュー」画像を見ながらダウンロードしたいときに指定してください。
自動でダウンロードを走らせておいて離席する場合は、単なる時間の無駄にしかなりませんので、チェックを外してください。
サイト内のリンクを辿る最大の深さを指定します。
数値をあまり大きくしすぎると、処理が終了しないうえ、サイトの種類も散逸するため良いことはあまりありません。
せいぜい1〜3程度に抑えておくのが良いと思われます。
ひとつのHTML内に含まれる画像をダウンロードしていくとき、指定した秒数以上の時間、画像が1枚もダウンロードされないと、そのページのHTMLの処理を中断して次のページに移ります。
画像を含まない、大量のリンクのみが配置されているようなページを処理しているときに、そのページをスキップできるので、画像取得の効率を向上できる可能性があります。
なお、本プログラムのHTTPリクエストのタイムアウトは30秒です。「サイトTimeout」に30秒以下値を指定すると、応答が遅いリンクに当たったとき、それだけでそのページの処理が中断されてしまいますので、多少の余裕を見た数字(60秒程度)を指定しておくことをお勧めします。
このプログラムは、一度アクセスしたURLは記憶しておいて、再度辿らない仕組みになっています。
アクセス済みとしてマークしたURLの数を表示します。
チェックを入れておくと、ダウンロードした画像をプレビュー領域に表示することができます。
ダウンロードされたファイルの内容を見ながらダウンロードしたいときにチェックを入れてください。
現在処理しているページを、簡易Webブラウザで表示することができます。
処理がなかなか先に進まないときなどに、現在CSMDownが現在どのようなページを処理しているのか、確認できます。
簡易ブラウザでは、可能な限りの操作を禁止しています。
リンクを辿るなどの処理はできますが、新しいウィンドウを開いたり、コンテキストメニューを表示することはできません。あくまで、現在処理中のページの確認用として使用してください。
なお、ステータスバーをダブルクリックすると、標準のWebブラウザで、同ページを開くことができます。状況によって使い分けると良いでしょう。
現在処理中のHTMLの、画像のダウンロード処理を中断し、次のHTMLファイルに進みます。
無駄なリンクが多数含まれているページに当たったときなどに利用することで、時間の無駄を省くことができます。
「サイト中断」ボタンを押したときに、確認のダイアログを出すか出さないかを指定します。
ダウンロード処理をキャンセルするときにクリックします。
画面上で指定した設定でダウンロードを開始します。
ウィンドを閉じます。
CSMDownは、ダウンロードの処理中にウィンドウを閉じることができません。ダウンロード処理中の場合は、一旦「キャンセル」ボタンを押して処理を止めてからウィンドウを閉じてください。
現在処理中のURLが表示されます。
ステータスバーをダブルクリックすると、標準のウェブブラウザで、そのページを開くことができます。
設定ファイルを読み込んで、画面に反映します。
ファイルダイアログが開きますので、CSMDownで保存した設定ファイルを読み込んでください。
現在の画面の状態を、設定ファイルに保存します。
ファイルダイアログが開きますので、保存先のファイル名を指定してください。
ウィンドウを閉じます。
このプログラムはフリーウェアとします。
このプログラムを利用することに起因する、如何なるトラブルについても、作者は関知しません。利用は各自の自己責任でお願いします。