根据身份证获取籍贯的代码
require 'httpclient'
require 'hpricot'
require 'mechanize'
require 'roo'
class String
def gsub_html
self.gsub(/r|t|n/,"").gsub(/<(S*?)[^>]*>.*?|<.*? />/,"").gsub(" ","")
end
end
def get_id(id_num)
link = "http://idcard.911cha.com/"
client = HTTPClient.new
params ={"q"=>id_num.to_s}
doc = Hpricot(client.post(link,params).body.encode("utf-8"))
res = doc.search("p[@class=l200]").to_s.gsub_html
puts res.split(":")[1]
puts sheng = res.split(":")[1].split[0]
if res.split(":")[1].split[1].match("生")
shi = res.split(":")[1].split[1].split("生")[0]
elsif res.split(":")[1].split[1].match("地区")
shi = res.split(":")[1].split[1].split("地")[0] + "市"
else
shi = res.split(":")[1].split[1]
end
puts (sheng+shi).strip
# puts qu = res.split(":")[1].split[2].split("生")[0]
# puts birth = res.split(":")[2].split("(")[0]
# puts age = res.split(":")[2].split("(")[1]
end
# get_id("420106192403254816")
# puts "--------------------------------------"
# get_id("422825199406110624")
# puts "-------------------------------------------"
# get_id("429005199204163944")
# puts "------------------------------------------"
# get_id("500234199107059605")
# puts "------------------------------------------"
# get_id("522501199204187355")
def get_id_1(id_num)
link = "http://www.3181.net/sfz/sfz.asp?"
client = HTTPClient.new
params ={"xian"=>id_num.to_s}
doc = Hpricot(client.post(link,params).body.force_encoding("gbk").encode("utf-8"))
# puts id_n = doc.search("div#result").search("b")[0].to_s.gsub_html
# puts sex = doc.search("div#result").search("b")[1].to_s.gsub_html
# puts age = doc.search("div#result").search("b")[2].to_s.gsub_html
puts addr = doc.search("div#result").search("b")[3].to_s.gsub_html
return addr
end
# get_id_1("339005199110256216")
# puts "-----------------------------------"
# get_id_1("500234199107059605")
# puts "-----------------------------------"
# get_id_1("652923198912211429")
def get_id_2(id_num)
id_hash={}
xlsx = Roo::Spreadsheet.open('id.xlsx')
xlsx.each_row_streaming(pad_cells:true) do |row|
id_hash[row[0].to_s]=row[4]
end
puts id_hash[id_num[0..5]]
end
get_id_2("652923198912211429")
近期评论