perlで何かを書くのは初めてだ!
と見せかけ・・・
追記
wget使えば一発でいけた件
wget -A *.pdf -m http://www.jitec.jp/1_04hanni_sukiru/mondai_kaitou_2010h22.html#22haru
一撃!
情弱の車輪再開発乙でした!
use LWP; use HTML::LinkExtor; # 引数チェック if( @ARGV != 2 ){ die "usage:pdfget.pl save_dir http://hogehoge/ \n"; } # 引数取得 my ($dir, $url) = @ARGV; chdir $dir or die $!; # $url="http://www.jitec.jp/1_04hanni_sukiru/mondai_kaitou_2007h19.html#19haru"; $browser = LWP::UserAgent->new; $response = $browser->get($url); $p = HTML::LinkExtor->new(\&callback,$url); $p->parse($response->{_content}); sub callback { my($tag, %links) = @_; foreach my $key ( keys %links ){ if($key eq "href") { $url = $links{$key}; if($url =~ /.*\.pdf/) { print $url; print "をダウンロード\n"; `wget $url`; sleep 3; # サーバーに優しくしとく(IPAに怒られないためにも) } } } }
使い方
引数で保存するディレクトリとPDFのリンクが張られたページのURLを渡す。
pdfgeter.pl 2010_spring http://www.jitec.jp/1_04hanni_sukiru/mondai_kaitou_2010h22.html#22haru
とか
なんか無駄な事している気がするけど、全仕事は果たせたからそれでいい。
本当は前年度の取ってくる、フォルダ分けする、ファイル名までつける、までできたら最高なんだが…
参考にさせていただきました
前半ほぼコピペm(__)m
HTML::LinkExtor - HTMLドキュメントからリンクを取り出す - あじゃぱー
http://d.hatena.ne.jp/minesouta/20070904/p1