Home arrow PHP arrow Page 3 - Fetching Search Results as Serialized Arrays with Yahoo Web Services and PHP 5

Next Example - PHP

In this second article of the series dealing with the implementation of some of the most useful web services offered by Yahoo! with PHP 5, I’ll show you how to parse the results returned by a determined web search service using a few array PHP processing functions.

TABLE OF CONTENTS:
  1. Fetching Search Results as Serialized Arrays with Yahoo Web Services and PHP 5
  2. Displaying web services search results in XML format
  3. Next Example
  4. Serving outputs of Yahoo! Web services as serialized PHP arrays
  5. Iterating over array elements with PHP 5
By: Alejandro Gervasio
Rating: starstarstarstarstar / 1
January 15, 2008

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement

For the sake of clarity and considerations of length, we placed the second example on a new page. Here it is: 

<!--

ws02.search.scd.yahoo.com uncompressed/chunked Wed
Oct 17 07:30:35 PDT 2007

-->

*/

// example using Yahoo! Video Search Web Service - search results
are displayed in raw XML format

try{

$request='http://search.yahooapis.com/VideoSearchService/V1/
videoSearch?appid=Your-AP-ID&query=madonna&results=4';

// trigger the http request

if(!$results=file_get_contents($request)){

throw new Exception('Error requesting Yahoo! Web service');

}

// display the results in XML format

header('Content-type:text/xml;charset=iso-8859-1');

echo $results;

}

catch(Exception $e){

echo $e->getMessage();

exit();

}

/* displays the following

<ResultSet xsi:schemaLocation="urn:yahoo:srchmv
http://api.search.yahoo.com/VideoSearchService/V1/
VideoSearchResponse.xsd" totalResultsAvailable="10365"
totalResultsReturned="4" firstResultPosition="1">

<Result>

<Title>madonna_2004_montage.wmv</Title>

<Summary>, interviews, news footage and tour clips from
New York and Paris....here's hoping 2005 is just as busy!
Right Click And Save Target As Madonna's 2004 Movie Montage
(WMV) - 7:44 - 21.8Mb Noticias madonna - Noticias madonna -
Noticias madonna </Summary>

<Url>http://madonnalicious.com/downloads/madonna_2004_
montage.wmv</Url>

<ClickUrl>http://madonnalicious.com/downloads/madonna_
2004_montage.wmv</ClickUrl>

<RefererUrl>http://www.descargaarchivos.com/noticias/index.php?
query=madonna&type=video</RefererUrl>

<FileSize>22902293</FileSize>

<FileFormat>msmedia</FileFormat>

<Height>240</Height>

<Width>320</Width>

<Duration>464</Duration>

<Streaming>false</Streaming>

<Channels>2</Channels>

<Thumbnail>

<Url>http://scd.mm-so.yimg.com/image/1702970034</Url>

<Height>105</Height>

<Width>140</Width>

</Thumbnail>

</Result>

<Result>

<Title>madonna_earlscourt_190804.wmv</Title>

<Summary>http://www.madonnalicious.com/downloads/
madonna_gelredome_090904.wmv madonna 9sep
2004http://www.madonnalicious.com/downloads/
madonna_earlscourt_190804.wmv
http://www.madonnalicious.com/downloads/
madonna_arlscourt_dtm_190804.wmv</Summary>

<Url>http://www.madonnalicious.com/downloads/madonna_
earlscourt_190804.wmv</Url>

<ClickUrl>http://www.madonnalicious.com/downloads/
madonna_earlscourt_190804.wmv</ClickUrl>

<RefererUrl>http://lounge.cosmopolitan.nl/messages/1/
14515.html?1095249265</RefererUrl>

 <FileSize>42149471</FileSize>

<FileFormat>msmedia</FileFormat>

<Height>240</Height>

<Width>320</Width>

<Duration>543</Duration>

<Streaming>false</Streaming>

<Channels>2</Channels>

<Thumbnail>

<Url>http://scd.mm-so.yimg.com/image/1700163527</Url>

<Height>105</Height>

<Width>140</Width>

</Thumbnail>

</Result>

<Result>

<Title>madonna.al.et.mpg</Title>

<Summary>Summary: Watch Madonna on Entertainment Tonight :
Madonna discusses American Life with ET .mpg Noticias madonna -
Noticias madonna - Noticias madonna -</Summary>

<Url>http://steveswartz.com/madonna.al/madonna.al.et.mpg</Url>

<ClickUrl>http://steveswartz.com/madonna.al/madonna.al.et.mpg</ClickUrl>

<RefererUrl>http://www.descargaarchivos.com/noticias/index.php?
query=madonna&type=video</RefererUrl>

<FileSize>12821508</FileSize>

<FileFormat>mpeg</FileFormat>

<Height>240</Height>

<Width>352</Width>

<Duration>73</Duration>

<Streaming>false</Streaming>

<Channels>2</Channels>

<Thumbnail>

<Url>http://scd.mm-so.yimg.com/image/1794815224</Url>

<Height>98</Height>

<Width>145</Width>

</Thumbnail>

</Result>

<Result>

<Title>madonna_jonathanross_ruperteverett.wmv</Title>

<Summary>And Save Target As Friday Night With Jonathan Ross -
Rupert Everett On Madonna (WMV) - 1:25 - 2.45Mb Noticias
madonna Noticias madonna - Noticias madonna</Summary>

<Url>http://www.madonnalicious.com/downloads/
madonna_jonathanross_ruperteverett.wmv</Url>

<ClickUrl>http://www.madonnalicious.com/downloads/
madonna_jonathanross_ruperteverett.wmv</ClickUrl>

<RefererUrl>http://www.descargaarchivos.com/noticias/index.php?
query=madonna&type=video</RefererUrl>

<FileSize>2579729</FileSize>

<FileFormat>msmedia</FileFormat>

<Height>240</Height>

<Width>320</Width>

<Duration>85</Duration>

<Streaming>false</Streaming>

<Channels>2</Channels>

<Thumbnail>

<Url>http://scd.mm-so.yimg.com/image/1703473304</Url>

<Height>105</Height>

<Width>140</Width>

</Thumbnail>

</Result>

</ResultSet>

<!--

ws05.search.scd.yahoo.com uncompressed/chunked Wed Oct 17
07:41:48 PDT 2007

-->

*/


Despite the lengthy source code of the two previous hands-on examples, the truth is that they’re very easy to understand. In the first case, a GET http request is triggered to the corresponding Yahoo! URL in order to use its popular Web Search Service. Note that in the query string I included first the corresponding application ID (which can be obtained by completing a simple registration form), then the search term “Madonna,” and finally the number of results that should be returned to the client.

Next, the pertinent results are displayed on the browser in XML, wrapped by a pair of <ResultSet></ResultSet> nodes. Very simple to code and read, right?

And finally, the last example looks very similar to the first one, but in this case, the Video Web Search service is used instead of performing a common search.

So far, so good. At this time, hopefully you've recalled how to implement the previous Yahoo! Web Search Services directly from some simple PHP 5 scripts. What’s next? Well, as I explained in the beginning of this article, Yahoo! provides web developers with an additional “output” option for specifying in the query string which format the pertinent search result should be returned to the browser.

If you're working with PHP, this “output” variable must have a value of “php” (output=php), which will cause all of the search results to be returned to the client in the form of a serialized PHP array. As you’ll realize, this feature can help, largely parsing these results using only a few PHP array processing functions, but this topic will be discussed in detail in the section to come.

So read the next few lines. They’re just one click away



 
 
>>> More PHP Articles          >>> More By Alejandro Gervasio
 

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort
   

PHP ARTICLES

- Hackers Compromise PHP Sites to Launch Attac...
- Red Hat, Zend Form OpenShift PaaS Alliance
- PHP IDE News
- BCD, Zend Extend PHP Partnership
- PHP FAQ Highlight
- PHP Creator Didn't Set Out to Create a Langu...
- PHP Trends Revealed in Zend Study
- PHP: Best Methods for Running Scheduled Jobs
- PHP Array Functions: array_change_key_case
- PHP array_combine Function
- PHP array_chunk Function
- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...

Developer Shed Affiliates

 


Dev Shed Tutorial Topics: