NAME
WWW::Search::NorthernLight - class for searching NorthernLight
SYNOPSIS
use WWW::Search;
my $oSearch = new WWW::Search('NorthernLight');
my $sQuery = WWW::Search::escape_query("+sushi restaurant +Columbus Ohio");
$oSearch->native_query($sQuery);
while (my $oResult = $oSearch->next_result()) {
print $oResult->url, "\n";
}
=head1 DESCRIPTION
This is a overhaul on the work by Andreas Borchert. I have not been able to get in touch with him so I went ahead and rebuilt the script to work with NorthernLight.
I can be flamed @ <jsmyser@bigfoot.com>
This class is a NorthernLight specialization of WWW::Search. It handles making and interpreting NorthernLight searches http://www.northernlight.com.
This class exports no public interface; all interaction should be done through WWW::Search objects.
SEE ALSO
To make new back-ends, see WWW::Search.
HOW DOES IT WORK?
native_setup_search
is called (from WWW::Search::setup_search
) before we do anything. It initializes our private variables (which all begin with underscore) and sets up a URL to the first results page in {_next_url}
.
native_retrieve_some
is called (from WWW::Search::retrieve_some
) whenever more hits are needed. It calls WWW::Search::http_request
to fetch the page specified by {_next_url}
. It then parses this page, appending any search hits it finds to {cache}
. If it finds a ``next'' button in the text, it sets {_next_url}
to point to the page for the next set of results, otherwise it sets it to undef to indicate we''re done.
BUGS
You bet! Although I think I have pointed them all out to NL so there shouldn't now be any.
TESTING
This module adheres to the WWW::Search
test suite mechanism.
Test cases:
'+mrfglbqnx +NoSuchWord' --- no hits
'+LSAM +replication' --- 13 hits on one page
'+Jabba +bounty +hunter +Greedo' --- 138 hits on two pages
AUTHOR
Oh what the heck, till the author comes forward I will maintain this backend. Flames to: <jsmyser@bigfoot.com>
WWW::Search::NorthernLight
was originally written by Andreas Borchert based on WWW::Search::Excite
.
LEGALESE
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.