商品検索サイトを立ち上げ

楽天とアマゾンの商品を一発で検索できるサイトを構築してみた。

http://94ken.osadasoft.com/
やっていることは、自作ソフトのアフィリサーチと同じ。

今のところ検索のみしかできないけど、そのうち機能追加していこうかなと。
今回は初めて、PHP、Ajaxに挑戦したんだけど、苦労したところは↓こんなところ。

  • Ajaxを使うにはブラウザごとの処理を分ける必要があること。
    Ajaxの本を一冊購入し勉強したはいいが、その本はIEでしか動かないことが判明。
    # Ajaxの本を買う場合は対応ブラウザについて注意が必要。
    ネットで色々調べながら改良し作るハメに。
  • 日本語はURLエンコード
    これはアフィリサーチのときにハマってたので、今回は悩まずクリアできた。
    PHPの場合はencodeURIComponentメソッドでURLエンコード可能。
    URLエンコードした文字列をRESTのパラメータとして渡す。
    楽天のリクエストURLの形式はこちら
  • PHPでXSLTを使用
    これが一番ハマった。
    PHP5の本を買って、ローカルのWindowsにPHP5をインストールし、XSLTProcessorクラスを使いXSLT変換していたが、これを、さくらインターネットにアップロードし動かしてみると動かない。
    ※さくらインターネットは格安レンタルサーバでスタンダードプラン以上ならPHPも使用可能
    こんな感じのメッセージが出てくる。

    Fatal error: Cannot instantiate non-existent class: xsltprocessor in /xxx/xxx.php on line xx
    

    調べてみるとXSLTProcessorはPHP5以降じゃないと使えないことが判明。

    <2008.01.22追記>
    「さくらのレンタルサーバ」スタンダード・プレミアムサービスでPHP5の提供を開始し、
    2008/6にはデフォルトのPHPを4から5に引き上げるそうです。
    セキュリティ的にもPHP5を推奨しているようです。
    </2008.01.22追記>

    で、使用しているさくらインターネットのPHPのバージョンが4.xであったことが原因であった。
    さくらインターネットに限らず、世の中のPHPレンタルサーバーが殆ど4.xを使用している。
    PHP5はあったとしても高額なものが多い。

    ローカルでPHP5をインストールする方法もあって、ネットにも設定方法なども載っていたが、自力では環境設定が出来ず断念。
    で、そもそもPHPでXSLTを使う方法から調べなおしたところ、PHP4でもXSLTが使えることが分かった。(こんな初歩的なことに気付かなかった)
    ただ、PHP4とPHP5で使用するクラスが異なるようで、PHP4の場合は、domxml_xslt_stylesheet_fileなんかでXSLを読み込んで使う必要があった。

  • XSLTの使い方
    あとは、前にもハマったXSLの書き方ぐらい。

2ヶ月ぐらいかかってようやく、それっぽいのが出来てきたかな。
http://94ken.osadasoft.com/


Leave a comment

メールアドレスが公開されることはありません。

CAPTCHA


*