Mercurial > hg > Members > nobuyasu > Lua
diff http/win_rate.lua @ 5:7e9ce3e3d84a
modified win_rate.lua
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 28 Sep 2013 06:54:59 +0900 |
parents | 06f22f0d9cab |
children | 18ba4378501e |
line wrap: on
line diff
--- a/http/win_rate.lua Sat Sep 28 05:47:24 2013 +0900 +++ b/http/win_rate.lua Sat Sep 28 06:54:59 2013 +0900 @@ -1,6 +1,6 @@ -package.path = '../?.lua;' .. package.path +package.path = '../?.lua;./?.lua;' .. package.path -local SLAXML = require("slaxdom") +local xml = require("xmlSimple").newParser() local io = require("io") local http = require("socket.http") local ltn12 = require("ltn12") @@ -11,19 +11,32 @@ { url = url, method = "GET", --- sink = ltn12.sink.file(io.stdout) sink = ltn12.sink.table(request) } -local xml = table.concat(request) -local doc = SLAXML:dom(xml) - -for i,v in pairs(doc) do print(i,v) end - -local kids = doc["kids"] -print("kids:",kids) -for i,v in pairs(kids) do - print("kids:for") - print(i,v) +local xmlString = table.concat(request) +local match = xmlString:gmatch('<table>(.-)</table>') +local count = 0 +local userInfo = {} +for i in match do + local names = i:gmatch('<td style="color: #FFF;">(.-)</td>') + for j in names do + local href, name = j:match('<a href="(.-)">(.-)</a>') + if (href == nil) then + userInfo[j] = { + name = j, + href = url + } + else + userInfo[name] = { + name = name, + href = href + } + end + end + count = count + 1 + if (count > 2) then break end end +for i,v in pairs(userInfo) do print(i,v) end +