Tagged: Webサービス

以前作成したネットショッピングを横断検索するWebサイト「全力通販」をスマホ対応化した。
01
スマホ対応のために行ったことは主に以下の2つ。
1.画面サイズの最適化
2.拾えないマウス操作イベントをタッチ操作で扱えるに処理に変更

(さらに…)

楽天の商品ジャンル別のランキングを表示する機能を「全力検索」に取り込んでみた。

全力通販
商品検索

既存の商品検索用ページの上にメニューバーを追加し、ランキングページへのリンクを追加した。
メニューが2つだけだと寂しすぎるので、リンク作成、サイトについて、お問い合わせページへのリンクも追加。
ここのページでは、楽天、アマゾン、Yahoo!ショッピング、セブンネットショッピング、ビッダーズ、stmx、価格.comの各社商品検索API(REST)を使用し、商品を一括検索する。
ランキング

今回追加した楽天ランキングを表示するためのページ。
このページで使用しているAPIは以下の2つ。
楽天ジャンル検索API
楽天商品ランキングAPI

左側フレームで楽天ジャンルを取得し、その結果をツリービューとして表示する。
ツリーが選択されたら、サブジャンルを検索しツリーを展開する。
同時に選択されたツリー(ジャンル)に対する商品ランキングを取得し、右フレームにランキング結果を30件表示する。
ちなみに、ジャンルを絞り込まない(総合)の場合、年代や、性別に対するランキングを表示できる。

ランキング
おまけに、画面下側にそのジャンルに対するサブジャンルを表示。
リンク先は商品検索ページで、選択したキーワードの商品を探せるようにしている。
ちなみに、今回使用した楽天APIは癖が無く非常に使いやすい。
他の楽天WEB SERVICE APIも同じくシンプルで使いやすいため、これからRESTとか、XMLなんかを勉強したいという方にはオススメ。
ブックス系、オークション系、トラベル系、その他諸々のAPIがあるから面白いかも。
全力通販

楽天WEB SERVICEが公開している以下のAPIを利用して、楽天市場のジャンルごとのランキングを表示するサイトを開発中。

こんな感じ。
web

楽天ジャンルを左フレームのツリーで表示して、選択したジャンルに対する商品ランキングを右フレームで表示する。
流れはこんな感じ。
1.楽天ジャンル検索API(REST)で、ルートのジャンルを検索
2.結果(XML)を解析し、サブジャンルを左フレームのツリーに表示
3.ツリーの項目をクリックしたら、その項目に対するサブジャンルを再び検索
4.同時に、クリックしたジャンルIDをもとに楽天商品ランキングAPIを実行
5.サブジャンルの結果(3.のレスポンス)をツリーに反映
6.ランキング結果(4.のレスポンス)を、XSLT変換し右フレームに表示

ツリーは、jquery の plugin「Treeview」を使ってみたけど、コレが結構簡単に組み込めると思いきや、ちょっと込み入った使い方をしようとすると難しくて扱いにくい。
(二度目に展開したツリーのイベント取得方法が分からない等)

でも、ゼロから作り込むよりかは全然いいので使ってみることにした。
今のところ、これ以上の面白いネタがなく、何とな~く作っている感じ。

これだけでは、利用価値があまりないので「全力通販」に組み込んでみようとも考えている。
できれば年内には公開できる状態にしたいなーって思っているんだけど、仕事も忙しくなってきそうだし微妙かな。

くしけんで検索できるショップを増やしてみた。

今までの楽天、アマゾンに加え、電脳卸、ビッダーズ(アフィリエイト2.0)を追加。

それぞれのASPが公開しているWebサービス(REST)の仕様に違いがあり、これを1つにまとめるのが案外大変だった。
主な相違点を以下にまとめてみたので、これからこれらWebサービスを使おうとしている人は、ここら辺を踏まえて設計しましょう。
(さらに…)

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

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以降じゃないと使えないことが判明。
    (さらに…)

早速、昨日公開された楽天Webサービスの楽天商品検索APIを使用してアフィリサーチに実装してみた。

まだ、細かいところやヘルプ記事は作り込んでないから公開はまだ先だけど、とりあえず今日作った代物で楽天商品検索&リンク作成することはできた。
他ASPとちょっと異なる点や注意事項をメモしてみる。

  • 検索結果に含まれている商品URL(itemUrl)は、アフィリエイト用のURLでは無い。
    このURLをそのまま貼り付けても無報酬。アフィリエイトIDを使用するためには、「http://hb.afl.rakuten.co.jp/hgc/[アフィリエイトID]/?pc=[商品URL]」の形式で指定する必要がある。で、アフィリエイトIDをいちいち憶えておくのはナンセンスなので、リクエストURLにアフィリエイトID(affiliateId)を渡しておくと、出力パラメタに返されてくる。
  • エラーのステータスは/Response/Header/Statusのタグに返されるが、エラー詳細情報は/Response/Header/StatusMsgタグに返される。
  • RakuAPI(非公式API)との違いは、1ページしか取得できなかった情報が最大100ページまで取得可能になったこと。画像サイズが小のみだったが、小、中が用意されていること。商品説明文(itemCaption)を取得できること。その他細かな設定もできる。アフィリエイトID、URLも異なる。

(さらに…)

楽天がついにWebサービス用APIを公開した。
楽天 WEB SERVICE
WebサービスといってもSOAPではなく比較的簡単に利用可能なRESTの方。
他ASP(Affiliate Service Provider)も殆どREST。
(AmazonはSOAPとRESTの両方対応)

で、今回公開したのは以下の4つ。

  • 楽天商品検索API
  • 楽天ジャンル検索API
  • 楽天商品コード検索API
  • 楽天書籍検索API

今まで非公式な楽天API「RakuAPI」を使って商品検索していたが、これで
アフィリサーチも公式APIを使用した楽天商品の検索ができそう。

他ASPに比べジャンル検索APIがあったり、きめ細かなパラメータが多くあり少々面倒くさそう。
楽天の膨大な商品を検索するには必須なんだろうな。
頑張ってアフィリサーチに組み込んでみる予定。

関連記事:
ITmedia News:楽天市場のAPI公開 “楽天経済圏”拡大に生かす

楽天がついにAPIを公開するそうです。
三木谷社長が初めて明かす、Web 2.0時代の「楽天経済圏」
以前、楽天市場非公式ウェブサービス「RakuAPI」についてブログを書いたが、ついに本家の登場となる。
公開されたら勿論「アフィリサーチ」にも組み込む予定。
今のところ、Amazon、電脳卸、RakuAPIに対応している。
これに本家「楽天」を追加するとかなり強力な商品検索ツールになりそう。
この他に、価格.com、biddersもWebサービスを公開しているらしいので、これらも
できれば組み込んでいきたい。
更に余裕があれば、Web版も作りたい。
# 全然余裕無いけど。。。

ネット上のショッピングサイトはいくつもあるが、開発者向けにWebサービスとしてAPIを公開しているサイトはまだ少ない。

メジャーなところで、Amazon、ビッターズ、電脳卸がWebサービス(REST)を公開しているが、何故か大手の楽天市場が公開していない。
APIを公開すると、楽天以外の商品も一気に検索できることができ、楽天としては不都合の方が多いという判断なのだろうか。
いくら待っても公開する気配が無い。

そんななか、しびれを切らしたユーザが独自で楽天市場非公式ウェブサービス「RakuAPI」を公開した。
まだベータ扱の非公式サイトで出どころもよく分からない。

突然、消滅する可能性もありそうだが、面白そうなんで早速、自作ソフト「アフィリサーチ」に実装してみた。


もともと本家の楽天から公開されたWebサービスでないため、ちょっとクセがある。
(クセというか取得できない情報がある)

例えば、他ASPでは商品画像として大、中、小のサイズを用意しているがRakuAPIでは基本的に「小」しか取得できない。
ちょっと工夫をして「大」のサイズを取得できる場合もあるが、Webサービスから取得できる情報は「小」のみ。
あと、商品検索の結果が30件までしか取得できない。
なので、検索結果というか、そのキーワードの商品のベスト30といった感じになる。
他にも取得できる情報が少ない。

ここら辺はやはり本家、楽天が何とか作り込んでくれない限りどうしようもない。
今後の楽天に期待。
何はともあれ、楽天の膨大な商品を検索できるRakuAPIに感謝。


某Webサービスを使ってみた。
簡単に使えそうだなぁなんて思い作り始めたがスキルの無さで梃子摺っている。

まず、URLエンコード。
C#でURLエンコードする場合、HttpUtility.UrlEncodeを使用するが、これが、すんなり使えない。

元々、ASP.NET用と考えているようでWindowsアプリとして使用する場合System.Web.dllの参照を追加する必要があった。
これに気付かず四苦八苦。

あと、返されたHTMLを保存する処理でもハマった。
StreamWriterで書き込んだはいいが、XMLファイルが途中で切れる。
これでまた悩む。

結果、Flush、Closeしていないという初歩的なミスと判明。orz
これで何とかXMLは取得&表示できるようになった。
後は、XMLをXSLTで変換するのみ。

XSLTなんて余裕。

なんて思ってたらすっかり文法を忘れている。。
結局、今日は中途半端な形までしか表示できなかった。