google-search-rankというnpmを作った

以前紹介した google-search_rank | RubyGems.org | your community gem host のインスパイア。

再発明感あるけどGoogleのCustom search APIを操作するgoogle-searchというクライアントを使って任意の条件で検索をかけて検索順位を取っている。

該当APIで取得した検索結果の情報と検索順位がコールバックされる。

引数で検索ワード, 対象ドメイン, 最大検索結果何ページ目までを走査するかを指定する。

var searchrank = require('google-search-rank');

searchrank.key = '(API Key)';
searchrank.cx  = '(Custom search engine ID)';

searchrank.find("安住紳一郎の日曜天国", "hideack.hatenablog.com", 10, function(rank, result){
  console.log("RANK => " + rank);
  console.log(result);
});

とすると

RANK => 70
{ kind: 'customsearch#result',
  title: '「安住紳一郎の日曜天国」というラジオ番組を毎週聞いている話 ...',
  htmlTitle: '「<b>安住紳一郎の日曜天国</b>」というラジオ番組を毎週聞いている話 ...',
  link: 'http://hideack.hatenablog.com/entry/2016/04/20/225328',
  displayLink: 'hideack.hatenablog.com',
  snippet: '2016年4月20日 ... 安住紳一郎の日曜天国 (通称 "にちてん")という番組があって自分は大好きなので毎週\n日曜日の朝10時から聞いているのですが、twitterで まもなくTBSラジオで安住紳一郎の\n日曜天国のお時間。今日はインスタントラーメン研究家 大山即席斎 ...',
  htmlSnippet: '2016年4月20日 <b>...</b> <b>安住紳一郎の日曜天国</b> (通称 &quot;にちてん&quot;)という番組があって自分は大好きなので毎週<br>\n日曜日の朝10時から聞いているのですが、twitter��� まもなくTBSラジオで<b>安住紳一郎の</b><br>\n<b>日曜天国</b>のお時間。今日はインスタントラーメン研究家 大山即席斎&nbsp;...',
  cacheId: 'Nckg46Amc5IJ',
  formattedUrl: 'hideack.hatenablog.com/entry/2016/04/20/225328',
  htmlFormattedUrl: 'hideack.hatenablog.com/entry/2016/04/20/225328',

(snip)

といった具合。あぁ、前回調べた時より大分順位下がったな。などといったことが知ることができて便利。

www.npmjs.com