リンクチェッカー(open-uri)

簡単なリンクチェッカースクリプトを書いてみた。

#!/usr/bin/ruby
#
# link_checker.rb
#

require 'open-uri'

base_url = ARGV.shift
doc = open(base_url)

doc.each do |line|
  a_tag = line.match(/<a\b([^>]+)>(.*?)<\/a>/)
  unless a_tag.nil? then
    link = $1
    text = $2
    url = link.match(/"(htt(p|ps)\:\/\/.*?)"/)
    unless url.nil? then
      url = $1
      puts url
      puts open(url).status
      puts ''
    end
  end
end

使い方は、

$ ./link_checker.rb 'http://hogehoge.com/'(チェックするURL)