用activerecord呀......
前几天写的一个:
#平台:ruby 1.8.6
#需要下载activerecord库
#gem install activerecord
require 'rubygems'
require 'activerecord'
require 'yaml'
require 'logger'
#配置数据库连接信息
dbconfig = YAML.load(DATA.read)["lawyer"]
ActiveRecord::Base.establish_connection(dbconfig)
#数据库log
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))
#构造Lawyer模型
class Lawyer < ActiveRecord::Base;end
class String
#转换Lawyer Name的格式
def format_name
self.split(/,/).reverse.join(" ").tr("'","")
end
end
#获取var_list.html文件内容
html = open("bar_list.html").read
#构造匹配所需内容的正则表达式
reg =/
\s*
(.*?)(.*?)(.*?)(.*?)(.*?)\s*
/xm
#用正则获取所需内容并保存在lawyer_array数组中
lawyer_array = html.scan(reg)
#转换数组为哈希,以便存入mysql
lawyer_hash = lawyer_array.map do |la|
{
:lawyer_name => la[0].format_name, #格式化Name
:status =>la[1],
:bar_number => la[2],
:city =>la[3],
:admission_date =>Date.parse(la[4]) #把字符形式转换成Date
}
end
#存入mysql
lawyers = Lawyer.create lawyer_hash
#以下为数据库连接配置,请根据自己的账户和密码设置..
__END__
lawyer:
adapter: mysql
encoding: utf8
reconnect: false
database: lawyer
pool: 5
username: root
password:
host: localhost