- 2009年5月22日 7:02 PM
- PHP
PHP から Yahoo! の Web サービスを利用するのに使う「Services_Yahoo」パッケージをインストールして、簡単なスクリプトを実行してみる。(ウェブ検索と画像検索)
VMware fusion 上の Ubuntu Server 8.10 へインストールする。
$ sudo pear install --alldeps Services_Yahoo-alpha
[sudo] password for showjin:
WARNING: "pear/HTTP_Request" is deprecated in favor of "pear/HTTP_Request2"
downloading Services_Yahoo-0.2.0.tgz ...
Starting to download Services_Yahoo-0.2.0.tgz (13,381 bytes)
.....done: 13,381 bytes
install ok: channel://pear.php.net/Services_Yahoo-0.2.0
警告メッセージを発見。すでにインストール済みの「HTTP_Request」は古いから「HTTP_Request2」にしなさいよーってな感じ?(Services_Yahoo はインストール出来ているみたい)
pear install –alldeps HTTP_Request2 を実行すると、これもエラー。alpha 版を指定しないとダメらしいので、その記述を追加して再度実行。
$ sudo pear install --alldeps HTTP_Request2-alpha
pear/HTTP_Request2 can optionally use PHP extension "curl"
pear/HTTP_Request2 can optionally use PHP extension "fileinfo"
downloading HTTP_Request2-0.4.0.tgz ...
Starting to download HTTP_Request2-0.4.0.tgz (54,549 bytes)
.............done: 54,549 bytes
downloading Net_URL2-0.2.0.tgz ...
Starting to download Net_URL2-0.2.0.tgz (7,114 bytes)
...done: 7,114 bytes
install ok: channel://pear.php.net/Net_URL2-0.2.0
install ok: channel://pear.php.net/HTTP_Request2-0.4.0
pear list で確認してみる。
$ pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.2 stable
Console_Getopt 1.2.3 stable
HTTP_Client 1.2.1 stable
HTTP_Request 1.4.4 stable
HTTP_Request2 0.4.0 alpha
Net_FTP 1.3.7 stable
Net_Socket 1.0.9 stable
Net_URL 1.0.15 stable
Net_URL2 0.2.0 beta
PEAR 1.7.1 stable
Services_Yahoo 0.2.0 alpha
Structures_Graph 1.0.2 stable
HTTP_Request2 と Services_Yahoo が入ったのを確認。
デフォルトのまま使用すると、表示される検索結果が Yahoo! アメリカ版になるらしいので、日本版のものが表示されるようにする。(画像検索については、日米同じ結果になるらしい)
/usr/share/php/Services/Yahoo/Search/web.php の中にある
protected $requestURL = “http://api.search.yahoo.com/WebSearchService/V1/webSearch”;
という記述内の「.com」を「.co.jp」に変更する。
簡単なサンプルスクリプトで Yahoo! ウェブ検索を使ってみる。
inLanguage(”ja”);
// 検索を実行(検索キーワードは php )
// デフォだと結果を10件表示する
// 任意の数を表示したい場合は withResults() で以下のように指定する
// $results = $yahoo->withResults(20)->searchFor(”php”);
$results = $yahoo->searchFor(”php”);
header(”Content-Type:text/html;charset=utf-8″);
// 検索結果の出力
echo “件数:”.$results->getTotalResultsReturned().”
”;
foreach ($results as $r) {
$title = $r["Title"];
$url = $r["Url"];
$summary = $r["Summary"];
$moddate = date(”Y/m/d H:i:s”, $r["ModificationDate"]);
echo <<$title
$summary
HTML;
}
?>
この php スクリプトファイルにブラウザでアクセスすると、php を検索キーワードにした結果が10件表示され、検索結果先URLにリンクが張られている。
もひとつ、画像検索もやってみる。これも検索キーワードは php で。
searchFor(”php”);
header(”Content-type:text/html;charset=utf-8″);
// 検索結果の出力
echo “件数:”.$results->getTotalResultsReturned().”
”;
foreach ($results as $r) {
$title = $r["Title"];
$url = $r["Url"];
$thumbnail_url = $r["Thumbnail"]["Url"];
echo <<
HTML;
}
?>
コメント:0
トラックバック:0
- この記事のトラックバック URL
- http://showzine.info/blog/2009/05/pearservices_yahoo%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab.html/trackback
- トラックバックの送信元リスト
- PEAR::Services_Yahooをインストール - SHOWJIN*BLOG より