Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 18850 программистов и 1632 робота. Сейчас ищут 1782 программиста ...

Examples

Вернуться к: Services_Yahoo

Examples

Examples – Using Services_Yahoo

The following sections provide you with examples of using the different feature sets of Services_Yahoo. Currently this includes documentation for the interfaces to Yahoo! Search and Content Analysis.

All public methods in Services_Yahoo have in common that exceptions will be raised when something goes wrong. This is why try { ... } catch { } blocks are wrapped around all examples.

The examples are designed to be run from a command line shell. If you would like to test them in a web browser you should replace \n with <br /> for better readability.

Speaking to Yahoo! Search

The following examples will communicate with Yahoo! Search.

Web search: Listing results

This snippet issues a search query for the term Steve Fossett to Yahoo! Search. For each result in the returned result set the title is printed.

<?php
require_once "Services/Yahoo/Search.php";

try {
    
$client Services_Yahoo_Search::factory("web");
    
$results $client->searchFor("Steve Fossett");

    echo 
"Number of results: " $results->getTotalResultsReturned() . "\n\n";

    foreach (
$results as $result) {
        echo 
$result['Title'] . "\n";
    }

} catch (
Services_Yahoo_Exception $e) {
    echo 
"Error: " $e->getMessage() . "\n";

    foreach (
$e->getErrors() as $error) {
        echo 
"* " $error "\n";
    }
}
?>

By default 10 results are returned per request. This number can be modified using the method setResultNumber():

<?php
require_once "Services/Yahoo/Search.php";

try {
    
$client Services_Yahoo_Search::factory("web");

    
// Get 20 results per query
    
$results $client->withResults(20)->searchFor("Steve Fossett");

    
/* ... */
?>

Web search: Result details

This code again queries Yahoo! Search for Steve Fossett, but this time the details of the first result in the result set are printed.

<?php
require_once "Services/Yahoo/Search.php";

try {
    
$client Services_Yahoo_Search::factory("web");
    
$results $client->searchFor("Steve Fossett");

    if (
$results->getTotalResultsReturned() > 0) {
        
$info $results->current();

        echo 
"Title: " $info['Title'] . "\n";
        echo 
"Summary: " $info['Summary'] . "\n";
        echo 
"URL: " $info['Url'] . "\n";
        echo 
"clickable URL: " $info['ClickUrl'] . "\n";
        echo 
"Modification date: " $info['ModificationDate'] . "\n";
        echo 
"Mime type: " $info['MimeType'] . "\n";
    }
    
} catch (
Services_Yahoo_Exception $e) {
    echo 
"Error: " $e->getMessage() . "\n";

    foreach (
$e->getErrors() as $error) {
        echo 
"* " $error "\n";
    }
}
?>

Web search: Paginating results

In this example the "paginating" capabilities of Services_Yahoo are shown. Paginating means that the search results are split up into chunks of e.g. 20, which are displayed together with links to jump back and forth to other result chunks. Basically this mimicks the functionality from the bottom of official Yahoo Search Page.

TBD

In order to query the Image, News, Video or Local search, one only needs to replace the argument "web" in the call of the factory() method with one of "image", "news", "video", or "local".

Using the Yahoo! Content Analysis services

The following examples will show you how to use the Content Analysis Services provided by Yahoo!.

Term Extraction Service

The Term Extraction service provides a list of significant words or phrases extracted from a larger content.

<?php
require_once "Services/Yahoo/ContentAnalysis.php";

try {
    
$search Services_Yahoo_ContentAnalysis::factory("termExtraction");
    
$search->setContext("Italian sculptors and painters of the "
        
"renaissance favored the Virgin Mary for inspiration.");
    
$search->setQuery("madonna");

    
$results $search->submit();

    foreach (
$results as $result) {
        echo 
$result "\n";
    }

} catch (
Services_Yahoo_Exception $e) {
    echo 
"Error: " $e->getMessage() . "\n";

    foreach (
$e->getErrors() as $error) {
        echo 
"* " $error "\n";
    }
}
?>

It is possible to skip the call to setQuery(). The parameter set by this method is intended to help the engine with the extraction process, but it is not stricly required.

Spelling Suggestion Service

The Spelling Suggestion service provides a suggested spelling correction for a given term.

The following code queries Yahoo for a spelling suggestion for the term "madnna". The service will return exactly one result, but currently there is no way to avoid looping through the $results.

<?php
require_once "Services/Yahoo/ContentAnalysis.php";

try {
    
$search Services_Yahoo_ContentAnalysis::factory("spellingSuggestion");
    
$search->setQuery("madnna");

    
$results $search->submit();

    foreach (
$results as $result) {
        echo 
$result "\n";
    }
} catch (
Services_Yahoo_Exception $e) {
    echo 
"Error: " $e->getMessage() . "\n";

    foreach (
$e->getErrors() as $error) {
        echo 
"* " $error "\n";
    }
}
?>


Вернуться к: Services_Yahoo

© 2025 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware