LWP::RobotUA - A class for Web Robots
SYNOPSIS
require LWP::RobotUA;
$ua = new LWP::RobotUA 'my-robot/0.1', 'me@foo.com';
$ua->delay(10); # be very nice, go slowly
...
# just use it just like a normal LWP::UserAgent
$res = $ua->request($req);
DESCRIPTION
This class implements a user agent that is suitable for
robot applications. Robots should be nice to the servers
they visit. They should consult the robots.txt file to
ensure that they are welcomed and they should not send too
frequent requests.
But, before you consider writing a robot take a look at
<URL:http://info.webcrawler.com/mak/projects/robots/robots.html>.
When you use a LWP::RobotUA as your user agent, then you
do not really have to think about these things yourself.
Just send requests as you do when you are using a normal
LWP::UserAgent and this special agent will make sure you
are nice.
METHODS
The LWP::RobotUA is a sub-class of LWP::UserAgent and
implements the same methods. The use_alarm() method also
desides whether we will wait if a request is tried too
early (if true), or will return an error response (if
false).
In addition these methods are provided:
$ua = LWP::RobotUA->new($agent_name, $from, [$rules])
Your robot's name and the mail address of the human
responsible for the robot (i.e. you) is required by
the constructor.
Optionally it allows you to specify the
WWW::RobotRules object to use.
$ua->delay([$minutes])
Set the minimum delay between requests to the same
server. The default is 1 minute.
$ua->use_sleep([$boolean])
Get/set a value indicating wether the UA should
sleep() if request arrive to fast (before $ua->delay
minutes has passed). The default is TRUE. If this
After header that indicate when it is OK to send
another request to this server.
$ua->rules([$rules])
Set/get which WWW::RobotRules object to use.
$ua->no_visits($netloc)
Returns the number of documents fetched from this
server host. Yes I know, this method should probably
have been named num_visits() or something like that
:-(
$ua->host_wait($netloc)
Returns the number of seconds (from now) you must wait
before you can make a new request to this host.
$ua->as_string
Returns a text that describe the state of the UA.
Mainly useful for debugging.
SEE ALSO
the LWP::UserAgent manpage, the WWW::RobotRules manpage
COPYRIGHT
Copyright 1996-1997 Gisle Aas.
This library is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.