PHPの修行も、ようやくとPEARを使うところまでやってきました。

あいかわらず、ネタとしては、
アマゾンウェブサービスで、
今回は、第六弾のPEAR:XML_RSSです。

最初は、ローカルで使っている
Linux(Ubuntu)にPEARをインストールしてテスト。

何とかうまくいったのですが、
このブログで使っているエックスサーバにPEARをインストールするのに、
ややつまづいて、時間がかかってしまいました。

しかし、「PEAR Package Manager」もインストールでき、
エックスサーバーで、快適にPEARを扱える状況は整いました。

また、困難をクリアする時に、
それに伴って、たくさんの知識やテクニックを学ぶことができますね。
プログラミングなどは、その経験値の差がとても大きいのでしょう。

何はともあれ、今回のPEAR:XML_RSS版の書籍検索です。
今回は、タイトル(リンクなし)+著者のみの抽出です。

PEAR:XML_RSSとは?

簡単に説明しますと、
.rssなどから、データを取得できるというものです。

どこかのブログのホニャララ.rssから、
最新エントリを表示させるなんて使い方が、
一般的かもしれません。

今回は、アマゾンAPIに無理やり使ったような感じです。
PEAR::XML_RSS

XML_RSSを使ったPHPのコード


<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>PEARのXML_RSSでアマゾンウェブサービス</title>
<meta name="description" content="アマゾンAPIのXMLデータをPHPのライブラリであるPEAR:XML_RSSを使って、プログラムを書いています。URLの表示は出力できず。" />
</head>
<body>

<form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
PEAR:XML_RSS版 書籍検索:
<input type="text" name="keywd" size="30" maxlength="255" value="<?php print($_POST['keywd']); ?>" />
<input type="submit" value="検索" />
</form>

<?php

// 検索ボックスに入力されたかの判定
if($_POST['keywd'] != '') {

    $url = "http://ecs.amazonaws.jp/onca/xml";
    $Service = "?Service=AWSECommerceService";
    $AWSAccessKeyId = "&AWSAccessKeyId=*************";
    $Version = "&Version=2008-04-07";
    $AssociateTag = "&AssociateTag=working16h-22";
    $ContentType = "&ContentType=" . urlencode("text/xml");
    $Operation = "&Operation=ItemSearch";
    $SearchIndex = "&SearchIndex=Books";
    $ResponseGroup = "&ResponseGroup=Medium";
    $Keywords = "&Keywords=" . urlencode(htmlspecialchars($_POST['keywd']));

    $urlall = $url.$Service.$AWSAccessKeyId.$Version.$AssociateTag.$ContentType.$Operation.$SearchIndex.$ResponseGroup.$Keywords;

require_once("XML/RSS.php");

$rss = new XML_RSS($urlall);
$rss->parse();

foreach($rss->getItems() as $item) {

print '<p>タイトル:' . $item['title'] . '<br />著者:' . $item['author'] . '</p>';
}

}
?>

</body>
</html>

XML_RSSのまとめ

今回、参考にさせてもらったサイトは、Do You PHP?さんです。
ありがとうございました。

PEAR:XML_RSSは、
ただ、単に使ってみるということなら、
とても簡単に扱うことができました。

ただ、PEARということで、
少しだけ、敷居が高くなります。

また、特定レンタルサーバにおいてのPEARの使い方。
ともなると、Googleにおいても、情報量がかなり少なくなるものなんですね。

【関連している記事】