Rubyで伏字検索
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" }