|
|
< Day Day Up > |
|
Hack 96. Program Google in PHP
A simple example of programming the Google Web API with PHP and the NuSOAP module. PHP (http://www.php.net/), a recursive acronym for PHP Hypertext Processing, has seen wide use as the HTML-embedded scripting language for web development. Add to that the NuSOAP PHP module for creating and consuming SOAP-based web services (http://dietrich.ganx4.com/nusoap) and you have a powerful combination. This hack illustrates basic use of PHP and NuSOAP in concert to interact with the Google Web API. 9.13.1. The CodeSave the following code as a plain text file named googly.php somewhere on your web site where PHP is able to run. Don't forget to replace insert key here with your Google API key. <!--
# googly.php
# A typical Google Web API php script.
# Usage: Point your browser at googly.php\
-->
<html>
<head>
<title>googly.php</title>
</head>
<body>
<h1>Googly</h1>
<form method="GET">
Query: <input name="query" value="<? print $HTTP_GET_VARS['query'] ?>">
<input type="submit" name="Search">
</form>
<?
# Run the search only if you're provided a query to work with.
if ($HTTP_GET_VARS['query']) {
# Use the NuSOAP php library.
require_once('nusoap.php');
# Set parameters.
$parameters = array(
'key'=>'insert key here',
'q' => $HTTP_GET_VARS['query'],
'start' => 0,
'maxResults' => 10,
'filter' => false,
'restrict' => '',
'safeSearch' => false,
'lr' => '',
'ie' => 'latin',
'oe' => 'latin'
);
# Create a new SOAP client, feeding it GoogleSearch.wsdl on Google's site.
$soapclient = new soapclient("http://api.google.com/search/beta2");
# Query Google.
$results = $soapclient->call('doGoogleSearch',$parameters, 'urn:GoogleSearch',
'urn:GoogleSearch');
# Results?
if ( is_array($results['resultElements']) ) {
print "<p>Your Google query for '" . $HTTP_GET_VARS['query'] . "' found "
. $results['estimatedTotalResultsCount'] . " results, the top ten of which are:</p>";
foreach ( $results['resultElements'] as $result ) {
print
"<p><a href='" . $result['URL'] . "'>" .
( $result['title'] ? $result['title'] : 'no title' ) .
"</a><br />" . $result['URL'] . "<br />" .
( $result['snippet'] ? $result['snippet'] : 'no snippet' ) .
"</p>";
}
}
# No results.
else {
print "Your Google query for '" . $HTTP_GET_VARS['query'] . "' returned no results";
}
}
?>
</body>
</html>9.13.2. Running the HackPoint your web browser at your googly.php, fill in a query, and click the Search button. Figure 9-1 shows the results of a search for php. Figure 9-1. Google results by way of googly.php![]() 9.13.3. See Also
|
|
|
< Day Day Up > |
|