まちいろエンジニアブログ

南池袋のWebサービス開発会社、株式会社まちいろのエンジニアブログです。

Bing Search API + Node.js で画像検索する

こんにちは、まちいろの工藤 (@macococo) です。

前回 Slack bot の作成方法をご紹介しましたが、試しに bot に画像検索機能を付けてみようと、画像検索 API について調べてみました。

画像検索といえば Google ですが、Google Custom Search API無料枠が 100件/日と結構厳しい制限があります。

そこで今回は Bing Search API を使って、画像のキーワード検索を行う手順をご紹介します。
Bing Search API であれば、無料で 5000件/日まで利用することができます。

f:id:mkudo-machiiro:20160523085011j:plain:w300

事前準備

  • Microsoft アカウントを作成する
  • Azure Marketplace にて、5000トランザクション/月 のプランにサインアップする
  • Azure Marketplace の[マイアカウント]-[アカウントキー]ページにアクセスし、アカウントキーを取得する

Bing Search API を実行してみる

取得したキーを使って、実際に API を実行してみます。 今回は Node.js の node-bing-api というライブラリを利用します。

github.com

$ npm install node-bing-api --save

実際のコードは以下のようになります。 実行すると、デフォルトでは最大50件の結果が返ります。

var Bing = require('node-bing-api')({ accKey: '取得したアカウントキー' });

Bing.images('検索キーワード', {
  market: 'ja-JP',
  imageFilters: 'Size:Medium',
  adult: 'Strict'
}, function(error, res, body) {
  console.log(body.d.results);
});

Marketplace のサービスエクスプローラ

API にどのようなオプションを渡せるかどうかは、Marketplace のサービスエクスプローラーで確認することができます。
実際にどんな画像が返ってくるか、事前に確認できて良いですね。

https://datamarket.azure.com/dataset/explore/bing/search

f:id:mkudo-machiiro:20160522171857p:plain

まとめ

Bing Search API、思っていた以上に簡単に利用できました。
無料枠の範囲も広いので、社内のちょっとした用途で利用する分には良さそうです。