Forums

Game History Browser

Sort:
imalison8

I made a little tool in python that allows one to browse their chess.com game history.  It allows you to view your win-loss record, average elo etc. when playing an opening of arbitrary length.  (If you still don't know what I'm talking about http://www.chess.com/explorer/ ) It stores all the data locally, which means that even non-premium members can accumulate extensive game histories (provided they run the script often enough) Anyway, here is a link to the source code: https://github.com/IvanMalison/chess_stats Direct download: https://nodeload.github.com/IvanMalison/chess_stats/zipball/master Any contributions to the project would be welcomed.  I'm happy to help with setup.  Just write me a reply.

imalison8
[COMMENT DELETED]
imalison8

Setup:

(OSX/Unix/Linux)
-Make sure you have python
-Open terminal (in Applications/Utilities)
-run the following command:
	sudo python install.py
-you will be prompted to enter you password

(Windows)
-get python
-run the setup.py with the install argument(setup.py install) in
	BeautifulSoup-...
	xlrd-...
	xlwt-...

Running ChessStats:

just run the file ChessStats.py in python!
i.e. python ChessStats.py

This will generate two files, data.xml and excel.xls . excel.xls Will contain all the data you need to make
graphs of your rating over time.  The data.xml file is mostly for StatNav, but it could also be used as a
backup of all your playing history. 

Running StatNav:

First of all, note that YOU MUST RUN ChessStats BEFORE YOU RUN StatNav.

You will be prompted to enter the username of the stats that you would like to navigate.
You MUST ENTER THIS USERNAME WITH CASE THAT IS IDENTICAL TO THE CASE YOU USED IN ChessStats.

You will be prompted about whether or not you would like to apply a rating filter.
The rating filter works in exactly the way you would expect it to.

You will then be presented with a screen that looks a lot like this:

-------------------------------------------------------------
Data set consists of 179 games.
-------------------------------------------------------------
Playing as ...
-------------------------------------------------------------
#  - move   play%  wins loss draw points% aelo welo lelo delo
-------------------------------------------------------------
0  - Black  50.3%   41 | 45 | 4   47.78%  1403|1376|1425|1437
1  - White  49.7%   52 | 35 | 2   59.55%  1388|1369|1415|1432
-------------------------------------------------------------
Which move would you like to expand?
(Type "-1" to go back a move, or any other negative number to exit.)


...except, of course, it will be filled in with your own data.

As you might imagine, entering the number on the far left of the table (in the # column),
will expand the "move" in that row.  I put the word move in quotes because as you can see,
we are actually selecting playing color in this case.  The point is that that color selection
can be thought of as a sort of move selection where color is the 0th move.  In any case, were
one to type 0 at the screen above, they would be presented with a new screen consisting of all
the first moves anyone has played against them, and the associated stats of those moves.
An example:

-------------------------------------------------------------
Playing as Black
Moves:
1 ...
-------------------------------------------------------------
#  - move   play%  wins loss draw points% aelo welo lelo delo
-------------------------------------------------------------
0  -  e4    65.6%   28 | 29 | 2   49.15%  1400|1376|1419|1456
1  -  d4    18.9%   9  | 7  | 1   52.94%  1399|1377|1423|1429
2  -  c4    4.4%    0  | 3  | 1    0.00%  1442| 0  |1455|1406
3  -  e3    2.2%    0  | 2  | 0    0.00%  1424| 0  |1424| 0  
4  -  d3    2.2%    1  | 1  | 0   50.00%  1432|1343|1521| 0  
5  -  b4    2.2%    0  | 2  | 0    0.00%  1413| 0  |1413| 0  
6  -  f4    1.1%    1  | 0  | 0   100.00% 1429|1429| 0  | 0  
7  -  b3    1.1%    0  | 1  | 0    0.00%  1485| 0  |1485| 0  
8  -  Nf3   1.1%    1  | 0  | 0   100.00% 1425|1425| 0  | 0  
9  -  Nc3   1.1%    1  | 0  | 0   100.00% 1280|1280| 0  | 0  
-------------------------------------------------------------
Which move would you like to expand?
(Type "-1" to go back a move, or any other negative number to exit.)


Notice that it now says Playing as Black at the top, and we now have a (empty for the time being)
move list.  As we select moves, this moves list will fill itself out:


-------------------------------------------------------------
Playing as Black
Moves:
1 e4 e5 
2 Nf3 Nc6 
3 ...
-------------------------------------------------------------
#  - move   play%  wins loss draw points% aelo welo lelo delo
-------------------------------------------------------------
0  -  Bc4   38.1%   23 | 42 | 2   35.82%  1297|1185|1361|1264
1  -  Bb5   28.4%   19 | 29 | 2   40.00%  1301|1256|1330|1316
2  -  d4    13.1%   7  | 16 | 0   30.43%  1273|1228|1293| -  
3  -  Nc3   10.2%   10 | 7  | 1   55.56%  1218|1183|1255|1307
4  -  c3    5.1%    4  | 4  | 1   44.44%  1214|1147|1279|1220
5  -  d3    2.3%    3  | 1  | 0   75.00%  1197|1169|1283| -  
6  -  h4    0.6%    1  | 0  | 0   100.00% 1145|1145| -  | -  
7  -  c4    0.6%    0  | 1  | 0    0.00%  1238| -  |1238| -  
8  -  b3    0.6%    1  | 0  | 0   100.00% 1194|1194| -  | -  
9  -  Nh4   0.6%    1  | 0  | 0   100.00% 1237|1237| -  | -  
10 -  Be2   0.6%    1  | 0  | 0   100.00% 1222|1222| -  | -  
-------------------------------------------------------------
Which move would you like to expand?
(Type "-1" to go back a move, or any other negative number to exit.)


Just in case it isn't obvious the aelo, welo, lelo and delo columns give the average elo rating
of players who played, won with, lost with and drew with that move respectively.
rossalal

Looks super cool, I'll try it out!

tloan

looks cool but i don't understand how to install it, too complicated

imalison8

what operating system are you running?

tloan

windows xp home edition and I've downloaded python 2.7.2

imalison8

okay.  Are you able to open a python command line?

tloan

yes I can open the command line

imalison8

All you need to do is go to the directories included in the .zip file called

BeautifulSoup

xlwt

xlrd

xlutils

and in each of them type

python setup.py install at the windows command line

So if you put the file in the root directory of your C:\ drive youd want to type the following into a cmd prompt:

 

cd C:\chess_stats\BeautifulSoup-3.0.8

python setup.py install

cd C:\chess_stats\xlrd-0.7.1

python setup.py install

etc.

tloan

I ran chess stats in python it asked what member so I put my name in and it created a folder called tloan with just an empty data.xml document and nothing else (no sign of the excel.xls)

imalison8

Did it show names of opponents or did it immediately show "no new games"?

imalison8

I just tried it on your username on my comp and it seeemed to work fine.  My version had some pretty drastic updates which are now posted at dl link:

https://nodeload.github.com/IvanMalison/chess_stats/zipball/master

Thanks for spending the time to get this to work.