I would like a program written in either PERL or Python that goes to gets football stats from ESPN's website. If you think it makes more sense to do in something other than PERL or Python, I am willing to consider that too, but would prefer PERL or Python if it's all the same to you.
Here are the specifications ...
User provides the following: 1. range of years (e.g. 2006-2009) 2. range of weeks (e.g. 1-17) and 3. type of season (1=preseason, 2=regular season, 3=postseason). Program should be able to deal with all data from 2003 to 2011. For 2011 only preseason data is available so far since the regular season hasn't started yet.
The program will then go to the ESPN scores website and obtain stats for every game that falls into this range. The output of the program should be a CSV file that consists of one comma-separated line of text per game. For each of game, the following fields should be included, in order
Year
Week
Away team abbreviation
Home team abbreviation
Away team total points scored
Home team total points scored
Away rush attempts
Away rush yards
Home rush attempts
Home rush yards
Away times sacked*
Away sacked yards**
Home times sacked*
Home sacked yards**
Away pass completions
Away pass attempts
Away pass yards
Away passes intercepted
Home pass completions
Home pass attempts
Home pass yards
Home passes intercepted
Away fumbles
Away fumbles lost
Home fumbles
Home fumbles lost
Away penalties
Away penalty yards
Home penalties
Home penalty yards
Away first downs
Home first downs
Away punts
Home punts
Most of these should be self-explanatory, so here's the revelant extra information on the stats that are not as easy to understand ..
* -- Just take number of sacks from other team's defense. So in this game: [login to view URL] we can see that "away times sacked" is 5. This is because San Francisco is the away team and Washington defense got 5 sack. Similarly, "home times sacked" is 1 since Washington is home team and San Francisco defense got 1 sack.
** -- Sacked yards is not listed directly. But you can figure it out by adding up all individual passing yards for players on a team and then subtracting total passing yards. The remainder is sacked yards. So in this game: [login to view URL] we can see that "away sacked yards" is 38 (92 - 54) and "home sacked yards" is 7 (252 + 8 - 253).
If you have any trouble figuring out how to obtain this information from any boxscore, please let me know and I will be happy to explain. Please note that the format [login to view URL] uses changes slightly from year to year so the program will have to be flexible enough to handle that.
Also, here is the sample format for the following game [login to view URL]
2005,7,SF,WAS,17,52,26,140,39,204,5,38,1,7,8,16,54,1,14,21,253,3,1,0,0,5,29,8,60,9,24,7,4
I have many similar projects in the near future, so if you are interested in more of these projects for similar pay, please let me know!