用ruby编程,抓取QQ城市达人上的用户qq号码?
那位高手能实现呢,必有重谢
3条回答 默认 最新
- 身陷囹圄 2009-02-13 16:26关注
[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]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报