Yahoo BOSS
Mit BOSS stellt Yahoo eine sehr flexible Such-API zur Verfügung, die im Gegensatz zur Google API auch kaum Einschränkungen unterliegt. Lediglich für Links auf Suchergebnisse sollte der Yahoo Proxy genutzt werden ("clickurl") und bei sehr starker Frequentierung behält sich Yahoo vor, die Einbindung von Werbung zu fordern. Generell gibt es aber kein Query-Limit.
YBC
Der Yahoo BOSS Client ist ein objektorientiertes PHP Interface für BOSS unter BSD Lizenz (open source) und ermöglicht einfaches Verwalten von Abfragen und Suchergebnissen.
Der integrierte Cache speichert Ergebnisse für einen bestimmten Zeitraum um die Anzahl von Anfragen an Yahoo zu reduzieren und ist leicht konfigurierbar. Mit dem YBC\Cache Interface ist auch die Implementierung eigener Cache-Mechanismen möglich.
Anforderungen
YBC erfordert PHP 5.3.0 oder höher, eine Legacy-Version für PHP 5.2 ist allerdings in Arbeit (Stand: 10/2010).
Anwendungsbeispiel
Um eine Web-Suche mit Standard-Einstellungen und zusätzlich der Anzahl von bookmarks in Delicious je Ergebnis auszuführen und die Ergebnisse anzuzeigen:
$ybc = new YBC\Client(APPID, new YBC\FileCache);
$query = new YBC\WebQuery('php yahoo boss');
$query->setDeliciousSavesView(true);
$resultSet = $ybc->query($query);
echo '<p>Total hits: ' . $resultSet->getTotalHits() . '</p>'; foreach($resultSet as $result) {
echo <<<EOT
<div>
<h2>$result->title</h2>
<p>($result->delicious_saves x gebookmarkt)</p>
<p>$result->abstract</p>
<p><a href="$result->clickurl">$result->url</a></p>
<p>$result->date</p>
</div>
EOT;
}
Es werden natürlich auch alle anderen Optionen für BOSS Queries unterstützt, mit Ausnahme der Searchmonkey-Views, da diese nur mit XML funktionieren und YBC mit JSON arbeitet.
Links
Ausführlichere Dokumentation und weitere Beispiele:
http://github.com/schmengler/Yahoo-BOSS-Client/tree/master/YahooBossClient/
BOSS Dokumentation und AppKey Antrag:
http://developer.yahoo.com/search/boss/