M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2008年5月30日 03:10

WWW::Mechanizeをつかってムフフ画像ダウンロードするスクリプト

このエントリーをはてなブックマークに追加 mixiチェック

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追記)

ファイルの保存の部分をモダンな書き方にしてみました。コメントアウト部が以前のコードです。

投稿 大野 義貴 [Perl] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2486

コメントする