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
}
}
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
}
}
执行之后,会在相应目录下产生一个名为QQ.log的日志文件,里面便是我们的QQ城市达人列表了。
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
}
}
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
}
}
执行之后,会在相应目录下产生一个名为QQ.log的日志文件,里面便是我们的QQ城市达人列表了。