updated git and svn scripts
[xrzperl.git] / namipan_download
blob70d7e85c1f3cd557852e8a4e7604d762ff382923
1 #!/usr/bin/perl -w
2 ###APPNAME: namipan_download
3 ###APPAUTHOR: duel
4 ###APPDATE: 2009-01-27 04:52:02
5 ###APPVER: 0.1
6 ###APPDESC: namipan_download
7 ###APPUSAGE: (urls...)
8 ###APPEXAMPLE: namipan_download
9 ###APPOPTION:
10 use strict;
12 #ENV variable MUST be defined somewhere,
13 #FOR perl to search modules from,
14 #OR nothing will work
15 use lib $ENV{XR_PERL_MODULE_DIR};
17 use MyPlace::Script::Usage qw/help_required help_even_empty/;
18 exit 0 if(help_required($0,@ARGV));
19 #exit 0 if(help_even_empty($0,@ARGV));
21 use LWP::UserAgent;
22 use HTTP::Cookies;
23 use URI::Escape;
25 my @urls = @ARGV;
26 unless(@urls) {
27 while(<STDIN>) {
28 chomp;
29 push @urls,$_;
33 die("Error:no urls specified\n") unless(@urls);
35 my $ua = LWP::UserAgent->new;
36 my $cookie = HTTP::Cookies->new(file => "$ENV{'HOME'}/.lwp_cookies.dat", autosave => 1);
37 $ua->cookie_jar($cookie);
38 $ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3 Firefox/3.0.1");
39 foreach my $url (@urls) {
40 $url = "http://$url" unless($url =~ /^http:/i);
41 my $req = HTTP::Request->new(GET => $url);
42 my $res = $ua->request($req);
43 if ($res->is_success) {
44 print STDERR "$url\n";
45 my @content = split(/\n/,$res->content);
46 my ($fileurl,$filename);
47 foreach(@content) {
48 $filename=$1 if(/\<H2 class=above\>([^\<\>]+)<\/H2\>/);
49 if(/(namipan\.com\/downfile)\/([^\/]+)\/([^\s'"\/]+)['"]/) {
50 $url = "http://www.$1/$2/$3";
51 $fileurl = "http://img.$1/$3/$2";
52 last;
55 next unless($fileurl);
56 $filename ||= $fileurl;
57 $filename =~ s/^.*\///g;
58 $filename = uri_unescape($filename);
59 print STDERR "$fileurl\n";
60 print STDERR "Downloading $filename ...";
61 if(-f $filename) {
62 print STDERR "\tFile exists\n";
64 else {
65 print STDERR "\n";
66 system("curl",'-b',$cookie,"-#","-L","-o",$filename,"--url",$fileurl,"--refer",$url);
69 else {
70 print STDERR $res->status_line, "\n";