WWW::Search::NorthernLight - class for searching NorthernLight
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"; }
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.
To make new back-ends, see WWW::Search.
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_setup_search
WWW::Search::setup_search
{_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.
native_retrieve_some
WWW::Search::retrieve_some
WWW::Search::http_request
{cache}
This module adheres to the WWW::Search test suite mechanism. See $TEST_CASES below.
WWW::Search
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.
WWW::Search::NorthernLight
WWW::Search::Excite
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.
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.
To install WWW::Search, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::Search
CPAN shell
perl -MCPAN -e shell install WWW::Search
For more information on module installation, please visit the detailed CPAN module installation guide.