はてなキーワード連想語API

関連キーワードをいくつか出して派生させていくUIをつくりたかったので、APIがあるか調べてみた。

Google Suggest APIは廃止されているらしかったので、
はてなキーワード連想語APIを使ってみた。

はてなキーワード連想語API - Hatena Developer Center

説明に「2006年 2月15日 リリース」とあるので、12年前のAPIのようだ。
XML-RPCAPIにアクセスするらしい。
chromeアプリのPostmanではXML-RPCでアクセス結果がXML errorになってしまった。

公式の案内を参考にrubyで書いてみたらうまくいった。

#!/usr/bin/env ruby -Ku

require "xmlrpc/client"

server = XMLRPC::Client.new("d.hatena.ne.jp", "/xmlrpc")

begin
  result = server.call("hatena.getSimilarWord", {
    # %w means array in ruby
    "wordlist" => %w[ Hatena Ruby ]
  })
  puts result['wordlist'].map {|v| v['word'] }.join(', ')
rescue XMLRPC::FaultException => e
  puts "Error:"
  puts e.faultCode
  puts e.faultString
end