Revision history for WWW::Search::Scraper (::*).

v3.05 - Fix to NEXT opcode.
	Caveat Leptor in Google.
v3.04 - Added Opcodes NEXT, FONT, etc.
v3.03 - Upgrades to Beaucoup, CraigsList, DogPile, and Google.
v3.01 - OPCODES ! ! You can invent and use your own scraping operations in the Scraper frames themselves!
	Fixed native_query() so you can change the query and get new results (without re-instantiating
	the scraper). Thanks to Alan Derhaag!
v3.00 - Reorganization of distribution files - bundling.
v2.27 - A major correction in the way Scraper discovers the content with the 'A' option.
        Significant improvements to NortherLight interface.
        Dogpile - now gets all client search engines' results, plus "Search the next 10 engines"!
        Added 'SNIP' and 'AQ' scraper frame options.
        Several minor fixes to ZIPplus4, finally making it usable again.
        Fixed backwardly compatible "new Scraper(engine_name, query, {options})" interface mode.
        Fixed documentation of the above, that was causing some confusion out there!
v2.26 - Adapted to their new format.
	Improvements to Response sub-classing makes it more broadly useful.
v2.25 - Fixed to make compatible with new versions of TidyHTML 
		(those whose "vers 1st August 2002; built on Aug  8 2002").
	Adapted ZIPplus4 to USPS's new format - requires changes in your clients.
	More improvements to
v2.24 - Added "optional array-context" return of Response field values. 
	Print a correct warning message if WWW::Search is not installed.
	Fixed problems associated with using classic WWW::Search "native_query" mode.
	Other improvements to eBay's "new" format.
v2.23 - eBay moved their search page from 'search.html' to 'basicsearch.html'.
	ZIPPlus4 - problems with "Zip_Code" method solved.
	Updated to Monster's new <TABLE> structure.
	Updated to techie's new format.
	Improved - more engines check for Tidy before proceeding.
	Another problem with URI::URL under solaris solved (I hope for good this time!)
v2.22 - Changes to Request/Response module that might help RedHat 7.0 implmentations.
        eg/ - ZipPlus4 fixer - try it!
	Simple (regressive) implementation of the WSDL interface.
		SEE "What if I *want* native mode?"
	Improved Request and Response classes - both auto-generated by default now.
	Improved, computerjobs, Dogpile.
v2.20 - Added eg/ - creates boilerplates for new Scraper modules.
	Added t/t.t to help some "make test"s work.
v2.19 - Improved make test - uses Test::More for better result logging.
v2.18 - Added, and ZIPplus4 (ZIP+4 Code Look-up).
	Added auto-sub-classing of responses via and each scraper "frame".
	Added lazy-access to field values resident on the detail page (via auto-sub-classing).
	Added 'XPath' as scraping option.
	Added Lycos.
v2.17 - Added Beaucoup - yup! Beaucoup's Super Search!
	More verbose reports from "make test" (see file 'test.trace' after "make test")
v2.16 - Special fixes to make Scraper work with LWP versions between 5.60 and 5.63
	Added 'CLEANUP' as a Scraper operation.
	Significant improvements ( as a "testable" base-class).
v2.15 - Added base class for new Scraper modules.
	Added - this is our first TidyXML implementation!
v2.13 - Make Scraper comply with new sanity checks in later versions of WWW::Search.
	Upgraded to's new "RELATED RESOURCES for <query>" format.
	Fix fatal flaw in
	Some improvements to "make test".
	Improvements in handling of redirects from the search engines.
v2.12 - is not working in this version, so we've put it on leave . . .
	Make dependant on Tie::Persistent - Ticket #74
	Try to be nice to via LWP::RobotUA.
	Improvements in handling "native_query" vs "Request" object.
v2.10 - Improved added "category", "categoryURL", "similarPagesURL",
	and "sampleText".
v2.01 - Clarify conflicts between Request's canonical query, WWW::Search's
	(and ::Scraper's) native query and options, and each module's
	default options. This greatly simplifies the design and usage.
	Fixed some problems with Brainpower's details page.
v2.00 - Complete Request/Response classification framework.
v1.39 - Added 'ResultType' parameter to HIT*. Complete refurbishment of Response
        generation, old SearchResult type is now a simple sub-type of Response.
	You may override this with a 'scraperResultType' option on Scraper->new(),
	or better, in the 'HIT*' element of the Scraper module's scraperFrame.
	Also completely refurbished the Request end - old style is now a 
	simple sub-type of Request (auto-converted within
	The most mature search engine is now It uses Request::Job
	properly, in the 'HIT*' element of its scraperFrame.
v1.38 - Fix itsy-bitsy boo-boo in (was not escaping input strings).
        Improved documentation in several of the modules.
	Added Scraper::Request module for later abstraction of "requests".
v1.37 - Moved to WWW::Search::Scraper to avoid namespace collision.
        Improved some of the documentation layout (I think).
v1.36 - Added; fixed bugs discovered thereby in Dice, apartments, eBay, etc.
v1.35 - Added, and a few features to (e.g. 'BOGUS', etc).
v1.34 - Introduced SearchResult sub-classing, with illustration in eg/
        Improved reliability of changed the result page format, again. I hope this version
          of will be more adaptive to's future changes.
        Added and (which still has a problem)
	Added examples: eg/SearchApartments, improved eg/Scraper.
v1.33 - Added, and eg/