用ruby编程,抓取QQ城市达人上的用户qq号码?

用ruby编程,抓取QQ城市达人上的用户qq号码?
那位高手能实现呢,必有重谢

[code="ruby"]
require 'uri'
require 'thread'
require 'net/http'

urls=[]
1.upto(100){|i|
urls<<"http://city.qzone.qq.com/json.php?mod=sososearch&act=page&type=city&jsontype=str&callback=searchProCb&cd=440300&pg=#{i}"
}
threads=[]
pattern=/"MD":"(\d+)".+?"TI":"(.+?)"/
mutex=Mutex.new
results=[]

urls.each{|url|
threads << Thread.new{
data=Net::HTTP.get(URI.parse(url))
mutex.synchronize{
data.scan(pattern){|m|
results<<"Name:#{m[1]}\tQQ:#{m[0]}\n"
}
}
}
}

threads.each{|t|t.join}

File.open('QQ.log','w'){|f|
results.each{|r|
f<<r
}
}
[/code]

感觉都各种语言都差不多

对ruby的通过url访问还不熟

要我的话就这样做

抓取http://city.qzone.qq.com/页面上显示的QQ号
所有用户连接均为javascript:inCityGuest(123456789,true)
123456789即为QQ号 获得页面后用正则或者if判断都可以获得

js简单版,直接在地址栏运行:
javascript:var patrn=/javascript:inCityGuest?/;var tags = document.getElementsByTagName('a');for(var i=0;i<tags.length;i++){if(patrn.exec(tags[i].getAttribute("href"))){var element = document.createElement("div");var textNode = document.createTextNode(tags[i].getAttribute("href"));element.appendChild(textNode);document.body.appendChild(element);}};void(0);

不了解城市达人,你的要求是不是这样?
[code="ruby"]
require 'uri'
require 'net/http'

url="http://city.qzone.qq.com/"
#outCityUserLI(356810775,'蓝冰儿 ','时尚','21','32','3207','江苏','连云港','');
pattern=/outCityUserLI\s*(\s*(\d+)\s*,\s*'(.+?)'/

data=Net::HTTP.get(URI.parse(url))
data.scan(pattern) do |m|
p "name:#{m[1]} QQ:#{m[0]}"
end
[/code]