HTTP でコンテンツを取得する

Ruby で HTTP を使ってコンテンツを取得したいです。open-uri というのが使えそうです。open-uri を使うと Kernel.open メソッド(?) の引数に URI が指定できるようになり、local のファイルと同じようにリモートコンテンツが扱えたりするようです。

#!/usr/local/bin/ruby

require 'open-uri'

Kernel.open('http://d.hatena.ne.jp/rubyo/').each do |line|
  $1.display if line =~ /<title>(.*?)<?/title>/
end

とすると

$ ruby uri.rb
rubyo (るびお) の日記

となります。

二点ほど分からないところがあります。

  • こういったライブラリのAPIドキュメントを見る方法が分かりませんでした。ri open_uri では見ることができませんでした。
  • each do |line| ... end の中で、処理を途中で終わらせる方法が分かりません。title 要素からタイトルを取得したところで以降の処理はスキップしたいです。