【開発】アフィAPIから取得してごにょごにょしてみた
ここのところアフィリ各社のWebAPIをいじり倒してました。
面白いっすね。もっと早くやっとけばよかった。
慣れてる.Netでいこうと思いましたが、やっぱWebにはPHPという事で、ほとんど忘れかけてたんですが、なんとかリリースできた。
データを取得しながら、色々と気づいた点をいくつか書いてみたいと思います。
自分のアフィリサイトのここをご覧頂ければ結果が見れます。
手書きの記事もありますが、リスト状のものは自動で投稿されているものです。商品データの入手は、予め収集して使えそうなものだけをピックアップして、HTML化してます。
現在、利用しているWebAPIは、Yahoo!/電脳卸/Yahooオークション/Amazon(AWS)の4つです(他にもValueCommerceも試してみた)
ざっと利用してみて、一番面白いのはYahoo!のものでした。細かく設定できるので、目的のアイテムを収集しやすいです。
Amazon内のカテゴリが整理されているようで、整理されて無く、レスポンス情報から、カテゴリでごにょごにょするには、煩雑な印象です。まず、仕様が複雑で、ドキュメントは網羅されてるんだけど・・も、読みにくいのが難点。
電脳卸は、扱っている商品自体が、あれだし、商品情報が整理されてなく、重複ヒットしたりするので、ココらへんの処理がキモになりそう。また、ここは商品データベースをまるごとCSVでダウンロードできます。こっちの方が何かと便利かもしれない。仕様もスタンダードで、分り易い。一番、細かく情報を取れるのが、ここだったりするのも意外(携帯向けとかセール時間とか)
ただ、電脳卸の難は、結果に同一商品が普通に大量に紛れ込んできます。これの排除処理が別途必要になります。
あと、ValueCommerceも試したんだけど、あまりに使えなくて、辞めました。WebAPIに情報を提供している広告主が少なく、あっても、情報が少なすぎて、遊べません。情報自体も、広告主次第でしょうが、あまりに質素。WebAPIについては利用価値無しと言っても過言じゃない。
一番遊べたのがYahoo!オークションAPIで、扱っている商品の数がダントツで、検索するのが楽しい。また、レスポンスも速い。難点といえば、利用可能なカテゴリIDが良く分からない。実際に検索してみて、これは有効ね?とメモした位です。
そういえば、ヤフオクAPIのレスポンスXMLを見ると分かるのですが、マニュアルに無い項目が幾つかあるんですよね。IsCharityとか(これは見た目でチャリティー出品と分かりますが)
ちなみに、ヤフオクAPIもアフィリの対象で、1%固定ですけど、別途アドレス表記書く必要があります。これ忘れがち。
Yahoo!ショッピングAPIは、なんだかリクエストの内容によっては、微妙に変なので、セール品とかだけを集めたいとか、うまく調整が必要です。discountフラグとか信用しちゃいけないようです。ちなみに、Page指定は、1~のようです。ずっと、0~だと思ってて、先頭ページを2度読み込んでいた落ちがありました(エラーにならないんだもん)
Yahoo API関連に総じて言えるのですが、ドキュメント更新してねぇぞ!です。
良く言えば、楽しいところと言えます。ただ、仕様が変わらなければ・・・の話ですが。
どのサービスも、ページ毎の読み込み処理が必須です。この辺の作りも(当たり前ですが・・)統一されてませんので、current_resultの数だったり、Pagesの値を見ながら調整が必要です。
万が一の、一連の読み込み中に、商品データベース更新がされたりするかもしれないので、例外も必須な処理です。
いずれのAPIも、あまり負荷をかけるようなアクセスをするのはマズイので、必ずウェイトを入れましょう。自分は、1アクセス10秒程度空けるようにしています。こんなに開けなくてもいいと思いますけど。マナーです。サービスが終わったら困ります。
Yahooのテキスト解析APIも面白そうですが、なにやら制限が厳しそうな雰囲気です。
特売激更新では、これらで収集した記事を、CRONで投稿を行うようにしてます。いまのところは、ほとんどを自分用にカスタム収集したデータですが、アクセスログなど見て、調整していく予定です。
#しばらく.Netばかりだったので、PHPの型制限のユルさにどうも慣れない、元Perl使い