version 1.2, 2005/11/17 22:04:47
|
version 1.5, 2005/11/18 22:34:21
|
Line 113 use IO::File;
|
Line 113 use IO::File;
|
use Socket; |
use Socket; |
use Fcntl; |
use Fcntl; |
use Tie::RefHash; |
use Tie::RefHash; |
|
use HTML::LCParser(); |
|
use LWP::UserAgent(); |
|
use HTTP::Headers; |
|
use HTTP::Date; |
use File::Find; |
use File::Find; |
use localenroll; |
use localenroll; |
|
|
Line 847 sub HUPSMAN { # sig
|
Line 850 sub HUPSMAN { # sig
|
|
|
sub nsdl_query { |
sub nsdl_query { |
my $query=shift; |
my $query=shift; |
} |
my ($keyword)=($query=~/\"\%([^\%]+)\%\"/); |
|
$keyword=&escape($keyword); |
|
&logthis('Doing '.$keyword); |
|
my $url='http://search.nsdl.org?verb=Search&s=0&n=500&q='.$keyword; |
|
my $ua=new LWP::UserAgent; |
|
my $response=$ua->get($url); |
|
my $parser=HTML::LCParser->new(\$response->content); |
|
my %result=(); |
|
my $is=(); |
|
my $cont=''; |
|
my $array=[]; |
|
my $token; |
|
while ($token=$parser->get_token) { |
|
if ($token->[0] eq 'T') { |
|
$cont.=$token->[1]; |
|
} elsif ($token->[0] eq 'S') { |
|
if ($token->[1] eq 'record') { |
|
%result=(); |
|
} elsif ($token->[1]=~/^dc\:/) { |
|
$is=$token->[1]; |
|
$cont=''; |
|
} |
|
} elsif ($token->[0] eq 'E') { |
|
if ($token->[1] eq 'record') { |
|
# |
|
# Now store it away |
|
# |
|
} elsif ($token->[1]=~/^dc\:/) { |
|
$result{$is}=$cont; |
|
} |
|
} |
|
} |
|
return $array; |
|
} |
|
|
=pod |
=pod |
|
|