Index of /perl/net/google
Name Last modified Size Description
Parent Directory -
google2blogger/ 2011-10-05 20:33 -
docs/ 2011-10-05 20:33 -
Net-Google-1.0.tar.gz 2008-11-22 09:16 16K GZIP compressed docume>
Net-Google-0.62.tar.gz 2008-11-22 09:16 14K GZIP compressed docume>
Net-Google-0.61.tar.gz 2008-11-22 09:16 14K GZIP compressed docume>
Net-Google-0.60_02.t..> 2008-11-22 09:16 15K GZIP compressed docume>
Net-Google-0.60_01.t..> 2008-11-22 09:16 14K GZIP compressed docume>
Net-Google-0.60.tar.gz 2008-11-22 09:16 15K GZIP compressed docume>
Net-Google-0.53.tar.gz 2008-11-22 09:16 13K GZIP compressed docume>
Net-Google-0.52_1.ta..> 2008-11-22 09:16 13K GZIP compressed docume>
Net-Google-0.52.tar.gz 2008-11-22 09:16 13K GZIP compressed docume>
Net-Google-0.51.tar.gz 2008-11-22 09:16 11K GZIP compressed docume>
Net-Google-0.5.tar.gz 2008-11-22 09:16 10K GZIP compressed docume>
Net-Google-0.4.tar.gz 2008-11-22 09:16 7.8K GZIP compressed docume>
Net-Google-0.4.2.tar.gz 2008-11-22 09:16 8.0K GZIP compressed docume>
Net-Google-0.4.1.tar.gz 2008-11-22 09:16 7.3K GZIP compressed docume>
Net-Google-0.3.tar.gz 2008-11-22 09:16 7.0K GZIP compressed docume>
Net-Google-0.3.1.tar.gz 2008-11-22 09:16 7.0K GZIP compressed docume>
Net-Google-0.2.tar.gz 2008-11-22 09:16 5.0K GZIP compressed docume>
Net-Google-0.1.tar.gz 2008-11-22 09:16 3.3K GZIP compressed docume>
Changes 2008-11-22 09:16 6.2K
NAME
Net::Google - simple OOP-ish interface to the Google SOAP API
SYNOPSIS
use Net::Google;
use constant LOCAL_GOOGLE_KEY => "********************************";
my $google = Net::Google->new(key=>LOCAL_GOOGLE_KEY);
my $search = $google->search();
# Search interface
$search->query(qw(aaron straup cope));
$search->lr(qw(en fr));
$search->starts_at(5);
$search->max_results(15);
map { print $_->title()."\n"; } @{$search->results()};
# or...
foreach my $r (@{$search->response()}) {
print "Search time :".$r->searchTime()."\n";
# returns an array ref of Result objects
# the same as the $search->results() method
map { print $_->URL()."\n"; } @{$r->resultElements()};
}
# Spelling interface
print $google->spelling(phrase=>"muntreal qwebec")->suggest(),"\n";
# Cache interface
my $cache = $google->cache(url=>"http://search.cpan.org/recent");
print $cache->get();
DESCRIPTION
Provides a simple OOP-ish interface to the Google SOAP API
ENCODING
According to the Google API docs :
"In order to support searching documents in multiple languages
and character encodings the Google Web APIs perform all requests
and responses in the UTF-8 encoding. The parameters <ie> and
<oe> are required in client requests but their values are ignored.
Clients should encode all request data in UTF-8 and should expect
results to be in UTF-8."
(This package takes care of setting both parameters in requests.)
PACKAGE METHODS
__PACKAGE__->new(\%args)
Valid arguments are :
* key
*string*. A Google API key.
* http_proxy
*url*. A URL for proxy-ing HTTP requests.
* debug
Valid options are:
* *boolean*
If true prints debugging information returned by SOAP::Lite to
STDERR
* *coderef*.
Your own subroutine for munging the debugging information
returned by SOAP::Lite.
Note that prior to version 0.60, arguments were not passed by reference.
Versions >= 0.60 are backwards compatible.
Returns an object. Woot!
OBJECT METHODS
$obj->key($string)
Get/set the Google API key for this object.
$obj->http_proxy($url)
Get/set the HTTP proxy for this object.
Returns a string.
$obj->search(\%args)
Valid arguments are :
* key
*string*. A Google API key.
If none is provided then the key passed to the parent *Net::Google*
object will be used.
* starts_at
*int*. First result number to display.
Default is 0.
* max_results
*int*. Number of results to return.
Default is 10.
* lr
*string* or *array reference*. Language restrictions.
* safe
*boolean*.
* filter
*boolean*.
* http_proxy
*url*. A URL for proxy-ing HTTP requests.
* debug
Valid options are:
* *boolean*
If true prints debugging information returned by SOAP::Lite to
STDERR
* *coderef*
Your own subroutine for munging the debugging information
returned by SOAP::Lite.
Note that prior to version 0.60, arguments were not passed by reference.
Versions >= 0.60 are backwards compatible.
Returns a *Net::Google::Search* object. Woot!
Returns undef if there was an error.
$obj->spelling(\%args)
Valid arguments are:
* key
*string*. A Google API key.
If none is provided then the key passed to the parent *Net::Google*
object will be used.
* phrase
*string* or *array reference*.
* http_proxy
*url*. A URL for proxy-ing HTTP requests.
* debug
* boolean
Prints debugging information returned by SOAP::Lite to STDERR
* coderef
Your own subroutine for munging the debugging information
returned by SOAP::Lite.
If no option is defined then the debug argument passed to the parent
*Net::Google* object will be used.
Note that prior to version 0.60, arguments were not passed by reference.
Versions >= 0.60 are backwards compatible.
Returns a *Net::Google::Spelling* object. Woot!
Returns undef if there was an error.
$obj->cache(\%args)
Valid arguments are :
* key
String. Google API key.
If none is provided then the key passed to the parent *Net::Google*
object will be used.
* url
*string*
* http_proxy
*url*. A URL for proxy-ing HTTP requests.
* debug
Valid options are:
* *boolean*
If true, prints debugging information returned by SOAP::Lite to
STDERR
* *coderef*
Your own subroutine for munging the debugging information
returned by SOAP::Lite.
If no option is defined then the debug argument passed to the parent
*Net::Google* object will be used.
Note that prior to version 0.60, arguments were not passed by reference.
Versions >= 0.60 are backwards compatible.
Returns a *Net::Google::Cache* object. Woot!
Returns undef if there was an error.
$obj->queries_exhausted()
Returns true or false depending on whether or not the current in-memory
session has exhausted the Google API 1000 query limit.
VERSION
1.0
DATE
$Date: 2005/03/26 20:49:03 $
AUTHOR
Aaron Straup Cope
CONTRIBUTORS
Marc Hedlund <marc@precipice.org>
SEE ALSO
http://www.google.com/apis
Net::Google::Search
Net::Google::Spelling
Net::Google::Cache
Net::Google::Response
Net::Google::Service
http://aaronland.info/weblog/archive/4231
TO DO
* Tickle the tests so that they will pass on systems without
Test::More.
* Add tests for filters.
* Add some sort of functionality for managing multiple keys. Sort of
like what is describe here :
http://aaronland.net/weblog/archive/4204
This will probably happen around the time Hell freezes over so if
you think you can do it faster, go nuts.
BUGS
Please report all bugs via http://rt.cpan.org
LICENSE
Copyright (c) 2002-2005, Aaron Straup Cope. All Rights Reserved.
This is free software, you may use it and distribute it under the same
terms as Perl itself.