The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WWW::Search::Yahoo - class for searching Yahoo

SYNOPSIS

  use WWW::Search;
  my $oSearch = new WWW::Search('Yahoo');
  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 Yahoo specialization of WWW::Search. It handles making and interpreting Yahoo-site searches http://www.yahoo.com. Performs the search on "Yahoo sites", and ignores AltaVista results that Yahoo might tell us about.

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

Please tell the author if you find any!

TESTING

This module adheres to the WWW::Search test suite mechanism.

  Test cases (accurate as of 1998-10-22):

    $file = 'test/Yahoo/zero_result';
    $query = 'Bogus' . 'NoSuchWord';
    test($mode, $TEST_EXACTLY);

    $file = 'test/Yahoo/one_page_result';
    $query = 'LS'.'AM';
    test($mode, $TEST_RANGE, 2, 50);

    $file = 'test/Yahoo/multi_page_result';
    $query = 'repli'.'cation';
    test($mode, $TEST_GREATER_THAN, 100);

AUTHOR

As of 1998-02-02, WWW::Search::Yahoo is maintained by Martin Thurn (MartinThurn@iname.com).

WWW::Search::Yahoo was originally written by Wm. L. Scheding, based on WWW::Search::AltaVista.

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

If it''s not listed here, then it wasn''t a meaningful nor released revision.

1.12, 1998-10-22

BUG FIX: now captures citation descriptions; BUG FIX: next page of results was often wrong or missing!

1.11, 1998-10-09

Now uses split_lines function

1.5

Fixed bug where next page tag was always missed. Fixed the maximum_to_retrieve off-by-one problem. Updated test cases.