#!/usr/bin/perl use strict; $|++; use LWP::Simple; -d "RESULTS" or mkdir "RESULTS", 0755 or die "cannot mkdir RESULTS: $!"; my $all_model_index = get "http://sportsillustrated.cnn.com/swimsuit/collection/"; while ($all_model_index =~ /(\/swimsuit\/collection\/models\/[-\w]+\.html)/g) { my $model_index = get "http://sportsillustrated.cnn.com/$1"; while ($model_index =~ /\"(http:\/\/i\.cnn\.net\/si\/pr\/subs\/swimsuit\/images\/)([-\w]+)t\.jpg\"/g) { my $url = "$1$2.jpg"; my $file = "RESULTS/$2.jpg"; print "$url => $file: "; if (-e $file) { print "skip\n"; } else { print mirror($url, $file), "\n"; } } } #### #!/usr/bin/perl use strict; $|++; -d "SORTED" or mkdir "SORTED" or die "mkdir SORTED: $!"; for (glob "RESULTS/*") { my($basename, $person) = /RESULTS\/(.*?_(.*?)_[\db]+\.jpg)$/ or die "$_"; my $dir = "SORTED/$person"; -d $dir or mkdir $dir or die "mkdir $dir: $!"; my $target = $basename; for ($target) { s/^9/199/ or s/^0/200/; # patch up years $_ = "$dir/$_"; } -e $target or symlink "../../$_", $target or die "ln -s ../../$_ $target: $!"; }