|
I've noticed that the "Statistics" page on Liquipedia for the 2012-2013 Proleague season is out of date, and I've wanted to use it to help build my Fantasy Proleague team.
I'm sure someone will provide a link to a site somewhere on the internet where I can find this information but in the meantime I've created a little something that I wanted to share.
At first I tried to enter the data in manually to a spreadsheet but they quickly became tiresome, and I was too aware of how easy it would be to make a mistake and not know where I went wrong.
So I've written a script in Perl which goes and grabs all of the results posted on Liquipedia for each round, and creates a CSV (comma separated value) file of each win and loss for each player, and which race they won or lost against. It's pretty basic; there is no analysis beyond that, although I have a visualisation tool available to me called Tableau which can display the following sort of thing from my CSV file (table up to date as of 26/5/2013):
(Table updated after bug picked up by commenter)
I'm sure it's a red herring and the information is available elsewhere, but if anyone here at TL was interested in obtaining my code, I'd be more than happy to share it (PM me). I'm also happy to extend it; for example, to keep track of teams win/losses as well, or to do some post-analysis on the data (e.g. generate the table I have above rather than having to use Tableau to calculate it).
For anyone interested I'm using ActiveState Perl, and I store a list of URL's (one for each round) in a YAML configuration file. The code is not perfect; I just hacked at it enough that it appears to work.
Proleague is awesome; as is WCS. I watch so much Starcraft these days I don't have any time left to play it myself :D
|
United States8476 Posts
I'm fairly sure Rain and Zest are wrong with possibly a few others.
|
On May 27 2013 12:38 monk wrote: I'm fairly sure Rain and Zest are wrong with possibly a few others.
Good point; I didn't actually *check* the stats properly, only glanced. Could be bugs in the code... It's more of an "idea" than anything else.
EDIT: I can see what the problem is with those two... Rain is labelled as "Rain" sometimes and "Rain (Korean Protoss)" in other places. Also Zest was P7GAB previously, so I need to include a way of "grouping" names of players which refer to the same player. Thanks for picking that up!
Updated table so far:
|
Cool stuff! Hopefully this code can be developed to the point where updating the Statistics tab will be a lot easier.
|
I know that TLPD may not be updated as promptly as Liquipedia, but it would be easier to parse, and you wouldn't have to worry about players' multiple aliases.
|
Didn't take long for Flash to top the list in the new game.
|
On May 27 2013 13:48 figq wrote: Didn't take long for Flash to top the list in the new game. The spot's super contentious though, he'll need a great Round 6 to better secure his lead.
|
FlasH not 75%, SC2 not legit xD
|
That's pretty cool
My problem with updating the liquipedia stats is that it requires re-ordering and re-numbering the table by hand. Updating the win-loss values is not too difficult but updating the ordering and numbering is tedious. I asked and apparently it is currently impossible to automate that
I try to update the Round 5 Stats page at the end of each week, and the Overall Stats at the end of each round. Sometimes it can take a while to get reviewed so you should look to see if there are any pending changes. If there are, there will be a "pending changes" tab between "discussion" and "view source".
Someone else started updating the overall stats page but didn't update the complete table, and didn't re-order or re-number so it is a bit untidy at the moment. You can look at an earlier version for the stats at the end of round 4. Link
|
|
Very cool, thanks for that link!
Yes it's a real shame there's no automatic way to generate tables on Liquipedia (or any wiki platform I've used). You'd need to be able to insert snippets of code; JavaScript or PHP maybe, and programatically build a table based on either a data file or a database.
|
|
|
|