- blogs:
- cles::blog

Yahoo! 検索 API を完全廃止へ

一昨年から突然利用規制を強化したり、有料化してみたりと、行き当たりばったりの施策ばかりしていた Yahoo! Japan のデベロッパー向け「検索API」ですが、8月14日をもって全てのサービスを終了すると発表*1しています。特に終了の理由が記されていませんが、有料化すると何らかの方法で元を取る必要があるわけで・・・・・・まっとうなマッシュアップが追いやられて、逆に変な SEO 業者だけをを呼び込んでしまう結果だったのかもしれないと、勘ぐってみます。
デベロッパーネットワークでは、2005年12月のサービス公開以降、
ご利用のみなさまの要望に応えるべく、開発者・技術者向けの「検索API」の提供・改善に尽力してまいりました。
これまで、増加する適切ではない利用への対策のため、有料化やさまざまな施策を行ってまいりましたが、
この度デベロッパーネットワークにおける、下記の「検索API」の提供を終了することになりました。

Yahoo! の検索 API 有料化へ

昨年あたりから利用規制が強化されたりしていた、Yahoo! 検索 Web API*1 ですが、来年の3月頃から原則有料化されるようです。
いつの間にかアップグレード版検索APIの新規提供が停止*2されてたりと、spam 対策には苦慮していたようですね。
検索Web APIの有料化について - Yahoo! JAPAN Tech Blog
2013年3月頃を目途に、上記APIの従来のリクエストURLは使えなくなりますのでご注意ください。
停止する日付の詳細は2013年1月公開予定の新APIの仕様と共に連絡させていただきます。
新APIでは上記の全ての検索機能を引き続き提供いたしますが、全て有料プランとなる予定です。
既存の有料プランであるアップグレード版ウェブ検索API、アップグレード版画像検索APIは提供中止となります。なにとぞご了承ください。
結局、APIを使う人って何かをする人は商用というか営利目的なので、だったらお金払ってねという結論に落ち着いたということでしょうか。

Yahoo!検索Web APIの制限が強化されてた

最近、Yahoo! Japanの検索APIを使おうとすると「Service unavailable. Too many users」という503エラーが出まくって使い物にならないので困っていたのですが、3/31付けでサービスが改訂されて、WebSearchService の制限が強化されていました。これが思ったよりきつくて、おそらく他のユーザーがアクセスしていると殆どのリクエストが503エラーになってしまい、まともに結果が取得できません。
Yahoo!デベロッパーネットワーク - 検索-アップグレード版検索
【変更内容】
1.同時にアクセス可能なユーザー数に制限を設けます(数セッションを上限とします)。超過した場合にはYahoo! JAPAN Web APIに共通のエラーメッセージおよびコードを返します。
2.24時間中、1つのアプリケーションIDにつき1,000件までのリクエストを上限とします。超過した場合にはYahoo! JAPAN Web APIに共通のエラーメッセージおよびコードを返します。
仕方がないので、これを期に新設されたアップグレード版検索APIに移行することにしました。やり方的にはYahoo!デベロッパーネットワーク - アプリケーションの管理から、専用のAPI Keyを取得する必要があります。取得するためにはYahoo!プレミアム会員、Yahoo! BB会員、Yahoo!ウォレット登録のいずれかが済んでいる必要があります。Spam等の関係で身元不明な人には大量アクセスを許さないという方針なのでしょう。ちなみに、アップグレード版検索API用のKeyは本当にアップグレード版検索API専用なので(画面だと金色の鍵マーク)、他のサービスを使うためには従来通りのKey(画面だと銀色の鍵マーク)は別途必要なのがちょっと微妙なところです。
乗り換えたところエラーはピタッとでなくなりました。
最近、Yahoo! APIでエラーが出るようになったという場合には、このあたり見直してみるといいかもしれません。

12/1にYahoo!APIがバージョンアップされてた

サイトのNP_MetaTagsの調子が悪いのを調査していく過程で API がエラーを吐いていたのでおかしいなと思って、 Yahoo! デベロッパーネットワークを調べてみたら、12/1から Yahoo! API がバージョンアップして旧版の動作保証をしないフェーズに入っていました。何ヶ月か前から告知されていたようなのですが、これまで見落としていて気づいていませんでした。
以下の3つのWeb APIにおいて一部機能を変更し、変更後のWeb APIをVersion 2として提供いたします。変更内容をご確認のうえ、新しいWeb APIへの移行をお願いいたします。なお、既存のWeb API(Version 1)は継続してご利用いただけますが、動作に関しては以下にお知らせする日時より保証できなくなります。
・ウェブ検索Web API
・画像検索Web API
・動画検索Web API
移行方法としては URL 中の「V1」→「V2」とすればOKのようなのですが、なぜか僕のプログラムではエラーを吐いてしまうので、ひとまずPOSTをGETに書き換えてしまうことにしました。後日、詳細に内容を調査したいと思います。

Yahoo!のAPIで特徴語抽出が可能に


Yahoo!のテキスト解析APIにテキストからの特徴語を抽出する機能が追加されたようです。
Yahoo!デベロッパーネットワーク - テキスト解析 - キーフレーズ抽出
日本語文を解析し、特徴的な表現(キーフレーズ)を抽出します。
これまでNP_MetaTagsの特徴語抽出は、Yahoo!の形態素解析の結果を自前でTF-IDFを使って処理していましたが、このAPIを使えば一撃で特徴語を抽出することができるようになります。特徴語は重要度が高い順に最大20個とれるようです。特徴語はドキュメントの母集団によって抽出される語が変化しますが、一般的な特徴語を抽出したい場合にはこのAPIは手軽に使えるのでいいですね。

NP_BBAuthを作ってみました

ここで触れたとおりUSのYahoo!IDにしか対応していませんが、Yahoo!アカウントでユーザーを認証するNP_BBAuthをサクッと作ってみました。欲求不満のリバウンドなのか本気を出してみたら3時間くらいでできちゃいました。中身はNP_HatenaAuthと兄弟という感じです。
† このAPIの雑感
作ってみた雑感ですが、この認証APIはHatena認証APIやTypeKeyとはちょっと違っていて認証したユーザーの生のアカウント名(つまりYahoo!IDのこと)が通知されてきません。通知されてくるのはアカウントのハッシュ値だけなので、これだけではYahoo!のユーザーということしかわからないようになっています。
つまり認証結果のみを純粋に返すだけで、ユーザーに関する個人情報が一切取得できないような割り切ったAPIです。シングルサインオンとして使うのであれば、別途自分のDBにアカウントのハッシュ値と紐付ける形で何らかのプロファイルを持つ必要がありそうです。Buzzurlもアカウント作成時にYahooで認証した後に、Buzzurl側にユーザー名やメールアドレスを入力する必要がありますが、これもこのような事情があるためであると推測されます。
[NP_BBAuthを作ってみました の続きを読む]
BuzzurlがY!JapanIDで利用可能に


BuzzurlがYahoo!JapanIDで利用可能になるようです。サービスが増えるごとにIDとパスワードを管理しないといけないので、こういうシングルサインオンがもっと普及してくれるといいんですけどね。
Yahoo! JapanのIDでECナビとBuzzurlにログイン可能に:ニュース - CNET Japan
ECナビは9月11日、価格比較サイト「ECナビ」とソーシャルブックマーク「Buzzurl」が「Yahoo! JAPAN」の外部認証APIに対応したと発表した。
記事中の「Yahoo! JAPAN」の外部認証APIというのがちょっと気になったのでいろいろ探してみたのですが、どうやらこれは公に公開されているわけではないようです。おそらく何らかの契約を結ばないと使えないようになっているのでしょうね。
[BuzzurlがY!JapanIDで利用可能に の続きを読む]
NP_MetaTags v1.6


Bulkfeedsの調子が悪いので、keywordタグ自動生成機能をYahoo!API経由で行うようにしてみました。例によってYahooのアプリケーションIDが必要ですので下記の説明を読んで試してみてください。この変更に伴ってプラグインオプションが変更されたので、一度アンインストール後、再度インストールする必要があります。
※使い方についてはplugins:metatags[Nucleus CMS Japan Wiki]を参照してください。
動作確認はNucleus 3.3(UTF-8)、PHP 4.4.7環境で行っています。動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
[NP_MetaTags v1.6 の続きを読む]
Yahoo!APIで特徴語抽出を作る


NP_MetaTagsではmetaタグのkeywordsを記事の本文から特徴後を抽出して自動的に生成する機能があり、これはBulkfeedsの特徴語抽出APIを使わせてもらっていました。ところが、このところBulkfeedsが落ちたままなので別の方法で特徴語抽出ができる方法がないか探してみました。
[を] 形態素解析と検索APIとTF-IDFでキーワード抽出
目的:キーワード抽出対象テキストから、そのテキストを代表する キーワードを抽出します。TF-IDF という指標を用います。(この値が大きいほどその単語が代表キーワードっぽいということでよろしく。)
たつをさんの上記のページを見る限りでは精度はともかく簡単なものであればすぐにできそうです。当時はYahooに形態素解析APIがなかったので、ローカルで茶筅なり、MeCabを使う必要がありましたが、今は全てYahoo!APIだけで全て完結できますね。
[Yahoo!APIで特徴語抽出を作る の続きを読む]
NP_SpamBayesJP jp1b


迷惑メール振り分け技術として良く使われているベイジアンフィルタを用いたspam避けプラグインです。きちんと学習させればおそらく最強のspam対策プラグインであることは間違いないと思います。
反響が予想以上に大きかったので、さっくりと作ってしまいました。もともとローカルのMecabを使って形態素解析をしていたのですが、この部分を誰もが導入可能なようにごっそりとYahoo!のウェブサービスに置き換えたものです。
† あくまでベータ版です
とりあえず動作可能*1ではありますが、あくまで人柱版という位置づけです。
技術的な問題に関しては積極的に対応していきますが、それ以外のサポートはあまりする予定がありません。また、日本語はきちんと処理できますがインタフェイスは英語のままです。
[NP_SpamBayesJP v1.1.0 jp1.6b][567clicks]
SHA1: f37dd0e0f1546ac62f7b96dcd2063770df8ee10e
管理画面を日本語化したNP_SpamBayesJP jp2をリリースしています。
※使い方についてはplugins:spambayesjp[Nucleus CMS Japan Wiki]にまとめる予定です。
動作確認はNucleus 3.3(UTF-8)、PHP 4.4.7環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
- *1: うちのサイトではMecab版を半年以上運用して有効性は確認してあります
- Rufus Windows11 インストーラカスタム
- Rufus に Windows のインストールをカスタマイズできる機能がついてた
- Rufus Windows11 インストーラカスタム
- Rufus に Windows のインストールをカスタマイズできる機能がついてた
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110922)
3 . 年次の人間ドックへ(110486)
4 . 2023 年分の確定申告完了!(1つめ)(110034)
5 . 三菱鉛筆がラミーを買収(109934)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]