Ich lerne Ruby on Rails for Africa

Railsとアフリカで苦戦するブログ

スクレイピング-その1-

とりあえず、スクレイピングの学習開始。
mechanizeとかseleniumとか色々あるんだけど、まずはopen-uriから。

open-uriはhttp/ftp に簡単にアクセスするためのクラス。
Kernel のモジュール関数(組み込み関数) open を再定義する。らしい。

# -*- encoding: utf-8 -*-
require 'rubygems'
require 'open-uri'

id = '074'

url = "http://www2.anzen.mofa.go.jp/info/pcinfectionspothazardinfo.asp?id=#{id}"
# url = "http://www.google.com"

# urlを開く
open(url, "r:utf-8") do |f|
  text = Array.new
  f.each_line do |line|
    if(/selected>.*<\/option>/ =~ line)
      p line
    end
    if(/現在、危険情報は出ておりませんが、/ =~ line)
      p "危険情報は出ていません"
    end
  end
  p "詳細は#{url}を見てください。"
end

ここでやってることは、外務省の海外の安全情報を取ってきて
危険情報が出ているかを出力するだけ。

    if(/selected>.*<\/option>/ =~ line)
      p line
    end

の部分は、選択ボックスで selectedとなっているところを判別して
ただただ表示させてるだけです。

で、これをidを固定じゃなくて、.timesで回せば
色んな国の危険情報を獲得出来ます。