WWW::Mechanizeをつかってムフフ画像ダウンロードするスクリプト
スポンサードリンク
Iriaさんでもちょっと大変な、規則性のないファイル名が付けられた画像たくさんサイトから画像ダウンロードします。規則性がないので、サムネイルがたくさんあるページから、画像が貼られているページに実際に行って、画像ファイルのリンクを取得して、ダウンロードするタイプです。
WWW::Mechanizeで、find_all_linksを使ったサンプルとして。
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->agent_alias( 'Windows IE 6' );
$mech->get('http://www.example.com/hoge.htm');
my @links = $mech->find_all_links();
foreach my $item (@links) {
$mech->get($item);
my @links2 = $mech->find_all_images();
(my $filename = $links2[0]->{url}) =~s|^.+/||;
print "$filename\n";
#$mech->get($links2[0]->{url});
#open my $fh,'>',$filename;
#print $fh $mech->content();
#close $fh;
#undef $fh;
$mech->get($links2[0]->{url}, ':content_file' => $filename);
$mech->back();
$mech->back();
}
そのままでどこのサイトで使えるかはないしょ。
(2013-3-15 10:02追記)
ファイルの保存の部分をモダンな書き方にしてみました。コメントアウト部が以前のコードです。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2486





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする