Catmandu-ArXiv
view release on metacpan or search on metacpan
lib/Catmandu/Importer/ArXiv.pm view on Meta::CPAN
$url = $u2->as_string;
}
my $res = $self->_request($url);
return $res->{content};
}
sub _parse {
my ( $self, $in ) = @_;
my $xml = Catmandu::Importer::XML->new( file => \$in, path => 'entry' );
return $xml->to_array;
}
sub _get_record {
my ($self) = @_;
my $xml = $self->_call;
my $stack = $self->_parse($xml);
return $stack;
}
sub generator {
my ($self) = @_;
return sub {
state $stack = $self->_get_record;
my $rec = pop @$stack;
$rec->{entry} ? return $rec->{entry} : return undef;
};
}
1;
=head1 NAME
Catmandu::Importer::ArXiv - Package that imports data from https://arxiv.org/.
=head1 SYNOPSIS
use Catmandu::Importer::ArXiv;
my %attrs = (
query => 'all:electron'
);
my $importer = Catmandu::Importer::ArXiv->new(%attrs);
my $n = $importer->each(sub {
my $hashref = $_[0];
# ...
});
=head1 CONFIGURATION
=over
=item base_api
The API endpoint. Default is https://export.arxiv.org/api/query
=item base_frontend
The arXiv base url. Default is https://arxiv.org
=item query
Search by query.
=item id
Search by one or many arXiv ids. This parameter accepts a comma-separated list of ids.
This parameter accepts also an ORCID iD.
=item start
Start parameter for pagination.
=item limit
Limit parameter for pagination.
=back
=head1 SEE ALSO
L<Catmandu::Iterable>, L<Catmandu::Importer::Inspire>
=cut
( run in 2.473 seconds using v1.01-cache-2.11-cpan-364913b4093 )