Rubyで伏字を解析するプログラムを書いてみました。
fuseji.net に接続して、返ってきた検索結果から
正規表現で取り出します。
検索結果は配列に入りますので、ご利用くださいまし。
#!/usr/bin/ruby -Ku
# -*- coding: utf-8 -*-
require "net/http"
require "kconv"
=begin
伏字検索 検索サンプルプログラム
<tt>〜</tt>取り出し結果を配列で返す
動作確認バージョン
* ruby 1.9.3 i386-mingw32
* ruby 1.8.7 i386-mswin32
=end
def fuseji_search(str)
ret = []
return ret if str.size == 0
escaped_str = "/" + URI.escape(str)
body = ""
Net::HTTP.version_1_2
Net::HTTP.start('fuseji.net',80) {|http|
response = http.get("#{escaped_str}", 'User-Agent' => "sample.rb" )
body = response.body
}
body.each_line do |line|
until line.empty? do
case line
when /\A\s+/
;
when /\A<tt>(.*)<\/tt>/
ret << $1
when /\A./
;
else
raise RuntimeError, 'must not happen'
end
line = $'
end
end
ret
end
=begin
サンプルメイン
伊集院○を検索、検索結果を表示する
結果はUTF-8で得られるので必要に応じて文字コードを変換すること
=end
result = fuseji_search("伊集院○")
print "マッチ数: #{result.size}\n"
result.each{|word|
print word + "\n"
}