2020.9.13
カクテルDB修繕ログ#7【楽天商品検索API(実装編)】
プログラム関係の話してるとまじで日記の進みが早いですね これ書いてるの7日の朝なんだが
ということで、実装の目処が立ったので楽天のAPIに接続してみます。
まじで記事のコピペで動きました。こういうのってだいたいどっかで頓挫すること多いんですけど、めちゃくちゃ上手くいってびっくりです。
あ、わかると思うんですけどRakutenNotFoundExceptionとかいうのは独自の例外です。実はこういう例外クラスをちゃんと定義することにしたの、初めてだったりするんですよね(!?)
この状態で取得できる情報の雰囲気はこんな感じです。ここから欲しい情報をつまんでいって、独自のオブジェクトにぶちこんでやる、っていうのをやります。
ソースコード見たらわかると思いますが、検索結果がなかったらItemsの部分が空っぽで返ってくるみたいなのでそれで判断します。Itemsはおそらく複数結果が返ってくることが予想されますけど、画像の有無とかのチェックはスルーすることにします。そこまでサポートしはじめるとキリがないし、バグフィクスしたくないのでそこは人力で対処します。
Rakutenインスタンスが生成できました。完璧。
あと細かなバグフィクスとしては・・・・・・
楽天の検索の場合、こういう制約があるみたいです。具体的には
クレーム ド ミントの「ド」の部分とかがエラーになります。
めんどくせえなあ
正規表現で弾いてもいいんですが、バグを生みそうなので
エラーが飛んできたら空白を削除して再チャレンジぐらいが現実解な気がしますね。
ここまで来たらあとは表示するだけなんで簡単です。
ということで、日記にはだらだら書きましたけど実際は2日ぐらいで完成したアフィリエイトリンク作成のお話でした。
一応、プログラムがちゃんと動いてたら、ある程度の周期でデータを再取得して、値段などが更新される予定です。なので取得日書いてるんですけどね。
一応今回の改修の目的はこれで達したことになるんですが、もうひとつやりたいことがあるので次回からそれを書こうかなと思います。