POSTメソッドを用いてExcite翻訳を行うRubyコード

Sponsored Link

このエントリーをはてなブックマークに追加
はてなブックマーク - POSTメソッドを用いてExcite翻訳を行うRubyコード
Bookmark this on Delicious
Share on LinkedIn
Bookmark this on Livedoor Clip
Bookmark this on Yahoo Bookmark

しかし、未完です。

Webの巡回などにはWWW::Mechanizeという便利なライブラリがありますが、あえてnet/httpのPOSTメソッドを使う理由は、単にPOSTそのものと正規表現の学習をするためです。

今回は正規表現で試行錯誤。

Rubyソースコード

#!/usr/bin/ruby
require 'net/http'
require 'kconv'

before = "hello"

http = Net::HTTP.new('www.excite.co.jp')
response = http.post('/world/english', "before=#{before}&wb_lp=ENJA")

result = Kconv.tosjis(response.body)
result =~ /"after"[^>]*>(.*)/ism
puts $1

実行結果

こんにちは
<中略>

ここで、正規表現

/"after"[^>]*>(.*)/ism

の部分を

/"after"[^>]*>(.*)< \/textarea>/ism

に変更するとマッチしなくなってしまいました。
オプション指定のmで複数行にマッチするはずなんですが・・・うーん、何を見落としているのだろう。

関連すると思われる記事:

Sponsored Link

This entry was posted in Ruby and tagged , , . Bookmark the permalink.

Facebook comments:

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>