rubyで大学、大学院、短大、専門学校、高専全ての学校名と学部を取得する方法。

色々調べ物をしていて、副産物が出来たので公開。
変数名とか適当です。

# encoding: UTF-8
require "json"
require 'open-uri'
require "net/http"

module Net
  class HTTPRequest
    self.class_eval{
      attr_reader :postdata
      def initialize(path, initheader = nil)
        klass = initheader["postdata"] ? HTTP::Post : HTTP::Get if initheader
        @postdata = initheader.delete("postdata")
        super klass::METHOD,
          klass::REQUEST_HAS_BODY,
          klass::RESPONSE_HAS_BODY,
          path, initheader
      end
    }
  end
  class HTTP
    self.class_eval{
      alias :_request :request
      def request(req, body = nil, &block)
        body = req.postdata if req.respond_to?(:postdata)
        _request(req, body, &block)
      end
    }
  end
end

[0,1,2,3,4,5].each do |s|
  ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''].each do |h|
    JSON.parse(open('https://job.rikunabi.com/2014/accounts/regist/ajax/school/gakko/', {"postdata" => "dGakushuCode=#{s}&dGakkoHead=#{h}"}).read).each do |school_name|
      next if school_name['value'] == '' || school_name['value'] == 'XXXX'
      JSON.parse(open('https://job.rikunabi.com/2014/accounts/regist/ajax/school/gakubuGakka/', {"postdata" => "dGakkoCd=#{school_name['value']}"}).read).each do |school_gakubu|
        next if school_gakubu['value'] == '' || school_gakubu['value'] == 'XXXX'
        p "#{school_name['label']} #{school_gakubu['label']}"
      end
    end
  end
end

[PR]Spreeの情報を集めています。

ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/