Changeset 26674

Show
Ignore:
Timestamp:
12/14/08 20:37:32 (4 years ago)
Author:
drry
Message:
  • fixed regexes.
  • et cetera.
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/misc/imageDownloader.pl

    r26662 r26674  
    88my $ua  = LWP::UserAgent->new; 
    99my $res = $ua->get($url); 
    10 my $dir = File::Spec->catdir($ENV{DOWNLOAD_DIR} || File::Spec->curdir,  
     10my $dir = File::Spec->catdir($ENV{DOWNLOAD_DIR} || File::Spec->curdir, 
    1111    sprintf('%s-%s', $url->host, POSIX::strftime('%Y%m%d-%H%M%S', localtime))); 
    1212if (! -d $dir) { 
     
    1717    my ($tag, %links) = @_; 
    1818    my $link = $links{href}; 
    19     if ($link =~ /([^\/]+\.jpg$)/) { 
     19    if ($link =~ m{([^/]+\.jpe?g$)}i) { 
    2020        my $file = File::Spec->catfile($dir, $1); 
    2121        print "$link -> $file\n"; 
     
    3131use File::Basename; 
    3232use Encode; 
    33 use Encode::Guess qw/shift-jis euc-jp 7bit-jis/; 
     33use Encode::Guess qw/shift_jis euc-jp 7bit-jis/; 
    3434 
    3535my $content = get(shift); 
    36 $content =~ s/[\n\r]//g; 
    37 $content =~ m/<title[^>]*>([^<]+?)<\/title>/i; 
     36$content =~ s/[\n\r]+//g; 
     37$content =~ m{<title(?:\s[^>]*)?>([^<]+)</title\s*>}i; 
    3838my $title = $1; 
    3939my $title_utf8 = Encode::decode('Guess', $title); 
    40 $title_utf8 =~ s/^\s+//; 
    41 $title_utf8 =~ s/\s+$//; 
    42 mkdir "./".$title_utf8, 0777; 
    43 my @l = $content =~ m{<a.*?href=["]?(http://[^">\s]+\.jpg)[">\s]}gi; 
    44 map{ 
    45   print $_."\n"; 
    46   print basename($_)."\n"; 
    47   my $filename = "./".$title_utf8."/".basename($_); 
    48   mirror($_, $filename); 
     40$title_utf8 =~ s/^\s+|\s+$//g; 
     41mkdir "./$title_utf8", 0777; 
     42my @l = $content =~ m{<a(?:\s[^>]*?)?\shref\s*=\s*["']?(https?://[^"'<>\s]+\.jpe?g)["'>\s]}gi; 
     43map { 
     44    print "$_\n"; 
     45    print basename($_)."\n"; 
     46    my $filename = "./$title_utf8/".basename($_); 
     47    mirror($_, $filename); 
    4948} @l;