2011/07/19

wgetでリンク切れリストを取得する

画像のリンク切れを調べる事になったので、チャチャッと書きました。
wget -r -l 5 -p -nv -nd --spider [URL] > [ファイル名] 2>&1




オプションの解説
-r
与えられたURLから再帰的にリンクを辿り、ファイルを取得します
-l [number]
再帰的に辿る深さを指定します。このオプションは「-r」と共に使います
-p
このオプションが指定されている場合は、「-l」で指定された深さより深い場所にあるファイルでも、既にダウンロードしたHTMLの表示に必要なファイルはダウンロードします
-nv(--no-verbose)
基本情報とエラー情報以外の出力を抑制する
-nd(--no-directory)
ダウンロードしたファイルを保存する際にディレクトリを作成せず、カレントディレクトリにすべて保存します
--spider
ダウンロードは行わず、ファイルの有無を調査するモードで動作します

キモになるオプションは、「-r」「-spider」あたり。「-r」はHTMLを再帰的に解析し、リンクされているドメイン内のファイルを全てダウンロードします。それを「-l」「-l」「-p」で深度を指定し、「-spider」でリンク切れを調査するという寸法です。

リンク切れは標準エラーに出力されるようですので、標準出力と一緒にファイルへ書き出します。
出力された内容の最後に、リンク切れだったファイルが一覧で出力されています。欲しいのはこの部分です。
あとは、出力されたURLを手がかりにアップロードしてあげます。

これでリンク切れは解消されるはずです。

wgetも便利だ~

see also
wget vs curl - コマンドラインダウンロードツール頂上決戦
Wget は必ず最新版を使います


0 件のコメント:

コメントを投稿