annotate http/win_rate.lua @ 7:ec8638157982

modified
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 28 Sep 2013 07:30:17 +0900
parents 18ba4378501e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
1 package.path = '../?.lua;./?.lua;' .. package.path
4
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 local io = require("io")
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 local http = require("socket.http")
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 local ltn12 = require("ltn12")
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
7 local baseUrl = "http://www.lolking.net"
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
8 local userUrl = "/summoner/na/41645712"
4
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 local request = {}
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
10 local b, c, h = http.request
4
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 {
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
12 url = baseUrl..userUrl,
4
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 method = "GET",
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 sink = ltn12.sink.table(request)
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 }
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
5
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
17 local xmlString = table.concat(request)
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
18 local match = xmlString:gmatch('<table>(.-)</table>')
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
19 local count = 0
7
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
20 local userInfoTable = {}
5
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
21 for i in match do
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
22 local names = i:gmatch('<td style="color: #FFF;">(.-)</td>')
7
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
23 userInfoTable[count] = {}
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
24 local userInfo = userInfoTable[count]
5
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
25 for j in names do
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
26 local href, name = j:match('<a href="(.-)">(.-)</a>')
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
27 if (href == nil) then
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
28 userInfo[j] = {
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
29 name = j,
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
30 href = userUrl
5
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
31 }
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
32 else
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
33 userInfo[name] = {
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
34 name = name,
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
35 href = href
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
36 }
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
37 end
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
38 end
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
39 count = count + 1
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
40 if (count > 2) then break end
4
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 end
06f22f0d9cab add some lua files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
43 function getWinNum(url)
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
44 local request = {}
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
45 local b, c, h = http.request
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
46 {
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
47 url = url,
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
48 method = "GET",
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
49 sink = ltn12.sink.table(request)
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
50 }
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
51 local xmlString = table.concat(request)
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
52 local winNum = xmlString:match('<td class="lifetime_stats_val" style="">(.-)</td>')
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
53 return winNum
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
54 end
5
7e9ce3e3d84a modified win_rate.lua
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
55
7
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
56 for j,l in pairs(userInfoTable) do
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
57 local userInfo = userInfoTable[j]
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
58 for i,v in pairs(userInfo) do
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
59 local userName = i
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
60 local userTable = v
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
61 local userUrl = v["href"]
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
62 userTable['win'] = getWinNum(baseUrl..userUrl)
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
63 end
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
64 end
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
65
7
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
66 for j,l in pairs(userInfoTable) do
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
67 for i,v in pairs(l) do
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
68 print(i.." "..v['win'])
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
69 end
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
70 print("")
6
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
71 end
18ba4378501e implemented getWinNum function
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
72
7
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
73
ec8638157982 modified
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 6
diff changeset
74