Programming the Google Web API with Perl

A simple script illustrating the basics of programming the Google Web API with Perl and laying the groundwork for the lion’s share of hacks to come.

The vast majority of hacks in this book are written in Perl. While the specifics vary from hack to hack, much of the busy work of querying the Google API and looping over the results remain essentially the same. This hack is utterly basic, providing a foundation on which to build more complex and interesting applications. If you haven’t done anything of the sort before, this hack is a good starting point for experimentation. It simply submits a query to Google and prints out the results.

The Code

#!/usr/local/bin/perl
# googly.pl
# A typical Google Web API Perl script
# Usage: perl googly.pl <query>

# Your Google API developer's key
my $google_key='insert key here';

# Location of the GoogleSearch WSDL file
my $google_wdsl = "./GoogleSearch.wsdl";

use strict;

# Use the SOAP::Lite Perl module
use SOAP::Lite;

# Take the query from the command-line
my $query = shift @ARGV or die "Usage: perl googly.pl <query>
";

# Create a new SOAP::Lite instance, feeding it GoogleSearch.wsdl
my $google_search = SOAP::Lite->service("file:$google_wdsl");

# Query Google
my $results = $google_search -> 
    doGoogleSearch(
      $google_key, $query, 0, 10, "false", "",  "false",
      "", "latin1", "latin1"
    );

# No results?
@{$results->{resultElements}} or exit;

# Loop through the results
foreach my $result (@{$results->{resultElements}}) {
 # Print out the main bits of each result
 print
  join "
",  
  $result->{title} || "no title",
  $result->{URL},
  $result->{snippet} || 'no snippet',
  "
";
}

Running the Hack

Run this script from the command line, passing it your preferred query keywords:

$ perl googly.pl "query keywords"

The Results

Here’s a sample run. The first attempt doesn’t specify a query and so triggers a usage message and doesn’t go any further. The second searches for learning perl and loops through the results.

% perl googly.pl
Usage: perl googly.pl <query>
% perl googly.pl "learning perl"
oreilly.com -- Online Catalog: Learning 
Perl, 3rd Edition
http://www.oreilly.com/catalog/lperl3/
... learning perl, 3rd Edition Making Easy Things Easy and Hard Things 
Possible By Randal L. Schwartz, Tom Phoenix 3rd Edition July 
2001 0-596-00132-0
...
Amazon.com: buying info: learning perl (2nd Edition)
http://www.amazon.com/exec/obidos/ASIN/1565922840
... learning perl takes common programming idioms and expresses them 
in "perlish"<br> terms. ... (learning perl, 
Programming Perl, Perl Cookbook).

See Also

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.99.71