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";
}
DESCRIPTION
This class is a NorthernLight specialization of WWW::Search. It handles making and interpreting NorthernLight searches http://www.northernlight.com.
Northern Light supports full Boolean capability (AND, OR, NOT), including parenthetical "expressions", in all searches. There is no limit to the level of nesting which you can use in a query.
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.
TESTING
This module adheres to the WWW::Search
test suite mechanism. See $TEST_CASES below.
AUTHOR
This Backend is will now be maintained and supported by Jim Smyser. 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.
VERSION HISTORY
2.04 Mainly Tag stripping that was getting bad and causing undesirable formatting in the title and description return.
2.03 Next Page url change and weeding out a new edit search url.
2.02 Minor parsing change to get the new description line that had changed.
2.01 typo and new test mechanism
1.06 Slight reformat change.
1.05 Fixed 'next' page tag recognition, this changed slightly. Whitespace removal in description that was really BAD with some hits. Ignoring internal NorthernLight URL's.
1.04 Slight adjustments to formatting. Returning score and date with description.
1.03 Slight format change by NL that was making next page hits flakey corrected. Misc. code clean up.