Here's Sean's blog post on how he updates the site every day. Excerpt:
I buy the stats from a third party. I get the play-by-play accounts for the games and also summary stats for the majors and minors. They deposit them on my server between 6 and 7am each morning. These are in a format unique to them, but using perl, I manipulate them apply my own id’s and then stuff them into the site’s database, about 15 tables of data total.