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
+