[ホーム] - [バッチファイル サンプル一覧] - [URLリストを一括ダウンロードするバッチファイルサンプル | https も対応]

URLリストを一括ダウンロードするバッチファイルサンプル | https も対応 | Windows バッチファイル





URL一覧を一括でWebダウンロードする


このページではテキストファイルに記載されたURLの一覧を一括ダウンロードするサンプルプログラムを紹介します。
ダウンロードには cygwin の wget を利用します。

http (80) 以外にも https (443/SSL) にも対応しています。

まず ダウンロードするURL が記載されたテキストファイルを作成します。Shift-JIS で保存します。
例として以下のファイル名とします。

C:\temp3\downloadsample\urllist.txt

'sample
https://example.com
https://www.google.com/intl/ja_jp/business/



(+)行の先頭が http あるいは https 以外はコメントとして認識され処理されません。

実際にダウンロードするバッチファイルを設置します。
例として以下のファイル名とします。

C:\temp3\downloadsample\sample.bat

set BASEDIR=C:\temp3\downloadsample
set WGETPATH=C:\cygwin64\bin\wget.exe
set NODLDEXTENTION=EXE,swf,pdf,png,gif,bmp,jpg,jpeg,doc,exe,zip,lzh,dat,mov,js,css,dat,xml,1,avi,mp4,mp3,msi,tgz,bin,BIN,dmg,dll,txt,php

setlocal ENABLEDELAYEDEXPANSION


for /f "delims=" %%a in (%BASEDIR%\urllist.txt) do (
set work=%%a
IF /I "!work:~0,4!"=="http" !WGETPATH! -w 1 -N -P !BASEDIR!\download -x -R !NODLDEXTENTION! --default-page=default.html --user-agent="download bot" %%a
timeout 2
)



BASEDIR には上記2個のファイルが保存されたパスを指定します。ここでは"C:\temp3\downloadsample"を指定しています。
WGETPATH にはcygwin の wget.exe の保存場所を指定します。ここでは"C:\cygwin64\bin\wget.exe"を指定しています。
NODLDEXTENTION にはダウンロードしない拡張子を指定しています。サンプルでは画像ファイルは含まれないため、画像ファイルもダウンロードしたい場合は拡張子から除外します。

-user-agent でユーザエージェントの指定が可能です。

cygwin の wget の入手方法は次のページを参考にしてください。

wget の無料ダウンロードとインストール | Windows10

以上で準備が完了です。sample.batを実行すると BASEDIR\download にファイルがダウンロードされます。ディレクトリ構造も保存されています。

エラーへの対処


発生するエラーへの対処を記載します。

(1)File (ファイル名) not modified on server. Omitting download.
すでにダウンロードされたファイルがPCのローカルに存在する場合はこの警告が発生します。ダウンロードは実行されません。

(2)The certificate's owner does not match hostname
もしhttpsに対応していないサイトに対してhttpsで指定してダウンロードを試みると次のエラーが発生します。

ERROR: The certificate of '(URL)' is not trusted.
ERROR: The certificate of '(URL)' doesn't have a known issuer.
The certificate's owner does not match hostname '(URL)'











本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [バッチファイル サンプル一覧]