Skip to forum
Looking for hand hi...
 
Notifications
Clear all

Looking for hand histories

4 Posts
2 Users
0 Reactions
414 Views
pieskot
Joined: 20.02.2011

Hello!

I'm working on bachelor thesis connecting machine learning & texas hold'em.
At this point I'm looking for a big amount of data - especially private hand histories (having player's cards visible) FullTiltPoker prefered, cause I've got ready parsing engine for it. I'd really appreciate any support from your side!
Hand histories can be anonymous - f.e simple md5sum hash on player's nicknames and you can sand them on pieskot665<AT>gmail<DOT>com anonymously if you're affraid of your privacy. If you'd like to help and don't know how to erase real nicknames from files - please contact me.
Thanks for help

Michał


Reply
Quote
3 replies
Super Moderator
VorpalF2F
Joined: 02.09.2010

Hi, pieskot,
Do you have a script to remove player names?
It would make it a lot easier for members to create truly anonymous hand histories.

You should be aware that accepting hand histories that have not been anonymised will put you in breach of the terms and conditions of several poker rooms -- including Full Tilt

Best of luck with your project!
VS


Reply
Quote
pieskot Topic starter
pieskot
Joined: 20.02.2011

I've just created one (written in perl). It can be runned f.e here:
http://www.tutorialspoint.com/execute_perl_online.php
Or you can download strawberryperl edition if you are windows user. Great thanks for support!
http://strawberryperl.com/

#!/usr/bin/perl
use Digest::MD5 qw(md5_base64);
my $usage = "USAGE: perl anon.pl <INPUT FILE PATH> <OUTPUT FILE PATH>\n";
my $file_in = shift @ARGV || die $usage;
my $file_out = shift @ARGV || die $usage;
my $rx = qr/^(.*) (posts|mucks|has|checks|shows|folds|calls|bets|raises|wins)/;
open(my $fh_in, $file_in) || die ('Cannot open input file');
open(my $fh_out,'>',$file_out) || die ('Cannot file for writing');
while ( my $line = <$fh_in> ) {
$line =~ s/$rx/md5_base64($1) . " $2"/e;
$line =~ s/Seat (\d): (.+) \(\$/"Seat $1: " . md5_base64($2) . ' ($'/e;
$line =~ s/Seat (\d): [^\$]+$/"\n"/;
$line =~ s/Dealt to ([^\[])+ \[/'Dealt to ' . md5_base64($1) . ' ['/e;
$line =~ s/^Uncalled bet.*//;
print $fh_out $line;
}


Reply
Quote
pieskot Topic starter
pieskot
Joined: 20.02.2011

UPDATE:

I've corrected the scrip to have no external dependencies, now it can be easily run on toutorialspoint webpage. Only thing you need to do is upload file, then execute scrip (with filename parameters, input=uploaded file name and output=some_name) then download (should be visible on file tree on the lefet. Here's updated script code

#!/usr/bin/perl
my $usage = "USAGE: perl anon.pl <INPUT FILE PATH> <OUTPUT FILE PATH>\n";
my $file_in = shift @ARGV || die $usage;
my $file_out = shift @ARGV || die $usage;
my $rx = qr/^(.+) (posts|mucks|has|checks|shows|folds|calls|bets|raises|wins)/;
my %map=();
open(my $fh_in, $file_in) || die ('Cannot open input file');
open(my $fh_out,'>',$file_out) || die ('Cannot file for writing');
while ( my $line = <$fh_in> ) {
$map{$2} = "player$1" if $line =~ /Seat (\d): (.+) \(\$/;
$line =~ s/Seat (\d): (.+) \(\$/"Seat $1: ".$map{$2}.' ($'/e;
$line =~ s/$rx/$map{$1} . " $2"/e;
$line =~ s/Seat (\d): [^\$]+$//;
$line =~ s/Dealt to ([^\[])+ \[/'Dealt to ' . $map{$1} . ' ['/e;
$line =~ s/^Uncalled bet.*//;
%map =() if $line =~ /FullTiltPoker/;
print $fh_out $line;
}


Reply
Quote
Share: