とりあえずPEAR::Cache_Liteへのデータ保存、カテゴリツリー内の移動とパンくずリストまではどうにか出来た。
そしてWeb APIの503エラーの発生はCache_Liteの利用で抑えられた。カテゴリ情報XMLがまずデカいので、そう頻繁に変わるデータでもないと思いキャッシュ時間を24時間に。カテゴリツリー検索APIもキャッシュ時間を長くしたいところだが、カテゴリ内の商品数が0の時は一時的に消え1以上になると復活するという仕様なので様子見か。これ、商品0のカテゴリを見せると寂れた印象になってしまうという、シャッター商店街化を防ぐ工夫らしいが。
んでいよいよメインの部分となる、商品検索について考えねばなるまい。
ところでこの電脳卸ウェブサービス(DWS)、午前4時~5時あたりにWeb APIの結果が返ってこなくなるのは仕様なんだろうか。深夜バッチでもやってるんだろうけど。
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ProductInfo>
<Responce>
<Hid>******</Hid>
<TotalItems>1</TotalItems>
<TotalPages>1</TotalPages>
<Details/>
</Responce>
</ProductInfo>
このコメントの書かれている時間をチェキ。file_get_contentsに失敗(false)した時だけでなく、空っぽデータの時もキャッシュ保存せずにエラー表示をするべきか。
あとは無カテゴリ(category_id=0)の最上位トップの時に、キーワードを指定しないと商品一覧を取得できない。適当なキーワードの検索結果を表示するしかないのか。→sales=1かfee_up=1にすれば、検索キーワードがなくても一覧を取得できる。
一般向けでランキングのrssなんかがあればいいのに。
商品一覧のデータ内にある個別商品のサブAPI[‘htmlPcTextUrl’]のリンク先が返すhtmlの例。oh…
<CENTER>
<TABLE border=”0″ width=”600″ cellpadding=”5″>
<TBODY>
<TR>
<TD colspan=”2″ bgcolor=”#CC0033″>
<DIV align=”center”><FONT color=”#FFFFFF” size=”3″><STRONG>KING JIM(キングジム) ラベルライター テプラPRO SR55 ブラック/ホワイト</STRONG></FONT></DIV>
</TD>
</TR>
</TBODY>
</TABLE>
<BR>
<IMG src=”http://shopping.c.yimg.jp/lib/goodchoice/g014b-77396-1.jpg” width=”600″ height=”528″><BR>
<IMG src=”http://shopping.c.yimg.jp/lib/goodchoice/g014b-77396-2.jpg” width=”600″ height=”515″><BR>
<IMG src=”http://shopping.c.yimg.jp/lib/goodchoice/g014b-77396-3.jpg” width=”600″ height=”550″><BR>
<IMG src=”http://shopping.c.yimg.jp/lib/goodchoice/g014b-77396-4.jpg” width=”600″ height=”527″><BR>
<IMG src=”http://shopping.c.yimg.jp/lib/goodchoice/g014b-77396-5.jpg” width=”600″ height=”488″><BR>
</CENTER>
こういう小さなデータを取得するために再度APIにアクセスして503になったり、取得できてもしょーもないHTML(敢えて全角大文字)だったりだと、なんか色々面倒くせーな。商品によってデータがあったりなかったりとまちまちだし。サブデータは無視するか。
商品検索APIへのアクセス時にcat_tree=onをつけるとカテゴリツリーのデータも同時に取得できる。メリットはAPIへのアクセス回数を減らせること。デメリットはデータが増えるぶん重くなることかな。
カテゴリツリーのキャッシュ有無でon/offを切り替えたりキャッシュ保存するかどうかを切り替えるのは面倒なので、カテゴリツリーAPIと商品検索APIは別々にアクセスすることにしよう。
あと、スマートフォンからのアクセスの場合はPCサイトとモバイルサイトのどちらへリンクすればいいんだろうか。ガラケーは無視するが。
どうもこんばんは
ヨハネス@元警備員と申します
電脳卸ウェブサービス(DWS)は
私は使ったことないですが、
なかなか複雑そうな感じですね。
私は最初にやるのなら
少しいろいろ勉強しないといけないことですが、
こういうのをできるというのは
なんだかすごいなと思いますね。
応援しております
コメント有難うございます。
初心者なので少しずつやっていきます。