RSS/SEO/Google/マッシュアップ/ちょっとした豆知識/エンタメ系など
fkoji.com > F.Ko-Jiの「一秒後は未来」 > 個別エントリーにAmazon商品リンクを表示
2006 04 01

個別エントリーにAmazon商品リンクを表示

スポンサード リンク

ブログでPHPを使えるようにしたので色々やってます。今日はブログの個別エントリーにAmazon Web サービスを使って、エントリーに関連する商品を表示させてしまおうと企てました。最もWeb2.0っぽくするなら、文章からキーワード抽出して、そのキーワードをAmazonに投げるっていう形式になるんでしょうけど、そんな技術は無いのでもう少し簡単に実現できる方法を考えました。方法はブログのエントリーに、

<?php $CATEGORY="Books"; $KEYWORDS="プログラミング"; ?>

という風に検索対象にするカテゴリと検索キーワードを記述しておいて、この変数をPHPプログラムで利用するというものです。プログラムのほうでは、Amazonにキーワードを投げて検索結果の商品をXMLで10件受け取り、その10件の中からランダムに表示させます。

さて、Amazonとデータをやり取りするプログラムですが、最初はAmazon Web サービスのサンプルについていたSOAP形式のプログラムを利用してみました。しかし、レスポンスに5秒程度時間がかかってしまってその間ページの表示が止まってしまうという問題があったので、REST形式を使うことにしてみました。参考にしたサイトは、Amazon ECS 4.0 解説1 RESTリクエストのパラメータです。RESTのHTTPリクエストにつけるパラメータは、このサイトの説明に従いました。

リクエストの結果はXMLで返ってくるので、それをパースするものが必要です。ロリポップのPHPはPHP4なのでSimpleXMLは使えそうになく、色々調べてDOMXMLを使ってみました。参考にしたサイトは「Do You PHP? - PHP4.3.0でのDOM XML」です。DOMXMLに与えるXMLは外部サイトでも大丈夫なので、Amazon ECS 4.0のRESTのHTTPリクエストをそのまま与えればOK。それでもなかなかうまくパースできなかったのですが、なんとか商品ページURL、画像URL、商品名を取得できるようにしました。

同じキーワードでも、将来Amazonに新しい商品が追加されればそれに応じてブログに表示される商品も新しいものが追加されるのがいいですね。Web2.0までは行かなくても、Web1.5くらいの仕組みかなと思います。

はてなブックマーク数 livedoor クリップ Buzzurl

English version

「個別エントリーにAmazon商品リンクを表示」を携帯で読む

前のエントリー: « MovableTypeにPHPでカレンダー設置
次のエントリー: Googleアラートとはてなブックマークで情報収集 »

トラックバック

このエントリーのトラックバックURL:

この一覧は、次のエントリーを参照しています: 個別エントリーにAmazon商品リンクを表示:

» AjaxでAmazon商品自動表示をパワーアップ from F.Ko-Jiの「一秒後は未来」
「個別エントリーにAmazon商品リンクを表示」で作ったプログラムを改良してみま... [詳しくはこちら]

» Amazonの支払いをコンビニとかATMとかネットバンキングで from F.Ko-Jiの「一秒後は未来」
AWSを利用してAmazonの関連商品をブログに表示するようにしてから、早くも6... [詳しくはこちら]

コメントを投稿

(承認されるまでコメントは表示されません。)




このブログをRSSリーダーで簡単購読
Subscribe with livedoor Reader Add to Google My Yahoo!に追加 Subscribe with Fastladder Bloglinesで閲読登録 はてなRSSに追加 エキサイトリーダーに登録

タイトル:

URL:

リンク用HTMLタグ:

powered by Google Chart API

梅酒コミュニティサイト

梅酒.in

スポンサー

なんかいろいろ

このブログの読者はこんなブログも読んでます。
あわせて読みたい

はてなブックマークカウンター

track feed

フィードメーター - F.Ko-Jiの「一秒後は未来」

スカウター : F.Ko-Jiの「一秒後は未来」








携帯からのアクセスは

QRコード
http://mob.fkoji.com/