« パスワードはメモしておくべき? | メイン | 図解の話 »

大量の HTML からリンクされているファイル名をフルパスで抽出する

なんかすげー不毛な作業。 wget が使えれば、そのログからファイル名を拾えたのだが、各ページのリンクに Javascript を使っている特殊なページ群だったので、シェルスクリプトと perl を使ってかなり力技な事をやってみた。 **ファイル群をローカルに落とし、 find で HTML のリストを作成 find . -name "*.html" > list-html.txt **テキストエディタで整形して、フルパスにする。 ~/hoge/aaa.html → http://www.hoge.com/aaa.html emacs の矩形置換とかを使えば一発ですね。 **HTML からリンクを抽出するツールを用意 OYAMA 氏が非常に便利な perl スクリプトを公開されていたので、そちらを使用。 [[MODULE.JP - Monday Module (遅っ) HTML::LinkExtor:http://module.jp/blog/monday_module_HTML-LinkExtor.html]] **シェルスクリプトの作成 [[ここのページ:http://www.rhythm-cafe.com/kb/shell/index.asp?sid=46&id=61]] を参考に、シェルスクリプトを作成 #!/bin/sh for fn in `cat list-html.txt` do echo "■" $fn perl ~/bin/extlink/extlink $fn echo done echo "処理は終了しました。" 作成っていっても、サンプルの 4 〜 6 行目を変えただけだけど。 **実行 ./extlink.sh > result.txt

トラックバック

このエントリーのトラックバックURL:
http://www.s-cut.net/cgi/blog/mt-tb.cgi/2471

コメントを投稿

アーカイブ