Yahoo APIの仕様変更

Yahooが提供するAPIのうち、商品検索関連のAPIの仕様が変更されたという話を先日ご紹介しました。章氏はこちらの記事でご確認ください。

このショッピングAPIの仕様変更により、どうやら運営するサイトの一つが機能的に終わってしまっていたことに気が付きましたので、今回はその状況と解決策について考えてみました。

APIデータを元に構成したサイト

ダメになったサイトは、以前トレンドチェックツールを作ってみたとご紹介した「dtnキーワードツール」でした。APIで取得できていたキーワードランキングデータを元に、キーワードのトレンド情報をグラフ化して見えるようにしていたサイトです。詳細はこちらの記事でご確認ください。

APIで取得できたキーワードランキング

商品検索APIのVersion1では、type=rankingといったパラメータを付けてAPIに投げてあげると、Yahooショッピングの人気検索キーワードを最大100件まで取得することができていました。Version1のマニュアルからはだいぶ前に削除されていた機能ですが、実は直近まで動いてくれていました。

レスポンスデータでは、「マスク」「こども マスク 日本製」という商品系キーワードが、「700」「350」といったYahoo内のスコア付きで取得することができていたので、これを日次で貯めていけば、chart.js用に成形するといったことが簡単にできておりました。

そんなデータが存在していたので、「dtnキーワードツール」のようなサイトも簡単に作ることができておりました。

キーワードランキングデータ提供の終了

ところが、APIがVersion3に変わってからは、「query、string:UTF-8エンコードされた検索キーワード」付きで投げてあげないと機能してくれなくなっておりました。

つまりは、こちらから「マスク」といった単語を投げた結果の中で、おすすめ順のデータを取ることはできるようですが、これまでのようなYahooショッピング全体の人気キーワードを取得するといったことはできなくなってしまったようです。

しかも、取得されるデータは商品のランキングデータとなるため、「不織布 マスク 50枚 3層構造 不織布マスク 使い捨て マスク 白 ウイルス 花粉 ハウスダスト 風邪 大掃除」といった売れ筋商品名しかもらえないとなると、キーワードのスコアでグラフ化をするといったことはもう無理そうです。

日次データも壊れ始めてしまいました

代わりとなるキーワードランキングデータ

サイト用のDBをみてみると、2020年8月6日まではデータ取得ができていたようですが、日次取得できたキーワードは0件が続いておりました。この日でAPIも終わりとなったようです。

APIデータで成り立っていたサイトですので、このままサイトを復活させるためには、何か他のAPIでキーワードランキングデータを探さないといけませんが、探してもこれがなかなかもう存在していませんでした。

楽天にも「商品ランキングAPI」といったものは存在していましたが、こちらもYahoo同様に単品商品名のランキングを抽出するといった印象ですので、同じ状況のようです。

Google APIも、Google Ads APIを使えばキーワードの検索スコアを取ることはできるようですが、その元となる全キーワードのランキングというものは提供していないようですので、そろそろ詰んだ感がでてきました。

キーワードランキングを発見

何か良いデータ元がないのやら….あちこち眺めてみたところ見つけました!

楽天サイトの中に、楽天の人気キーワードを一覧で表示しているページが存在しました。しかも、ランキング形式で紹介までしてくれています。

楽天に注目キーワード一覧が!しかもランキングで!

おわりに

RSSでもない単なるWEBページですので、スクレイピングなりでHTMLからデータ取得をすることが必要そうですが、多少蜘蛛の糸が見えた気はしました。引き続き、色々と考えてみたいと思います。