A Python-based web scraping toolkit that extracts and processes NFL kicking statistics from Pro-Football-Reference. This project automates the collection of comprehensive game data, with a particular focus on field goal attempts and environmental conditions.
The NFL Point Kicker Data Scraper systematically collects and processes data through a pipeline of specialized Python scripts, each handling a specific aspect of the data collection and formatting process. The result is a series of well-structured CSV files ready for analysis.
-
Comprehensive Data Collection
- Stadium information
- Roof type and playing surface
- Weather conditions (temperature, humidity, wind speed)
- Field goal attempts and success rates
-
Intelligent Data Processing
- Automatic rate limiting to prevent IP bans
- Incremental data saving
- Error handling and recovery
- Multiple output formats for different analysis needs
-
Specialized Output Files
- Complete dataset (NFLKicksInfo2000-2022.csv)
- Weather-specific analysis (NFLKicksInfo2000-2022WeatherSplit.csv)
- Dome-specific analysis (NFLKicksInfo2000-2022NonSplitClosedDome.csv)
- Wind chill analysis (NFLKicksInfo2000-2022WeatherSplitWindChill.csv)
The system operates through a series of specialized scripts:
FootballInfoScraper.py
- Initializes the scraping pipeline and collects game URLsFootballGameInfoScraper.py
- Extracts detailed game dataGameUrlDateSeparator.py
- Processes game datesDateToCSVFormat.py
- Standardizes date formatsTotalDataFormatting.py
- Creates the master datasetSplitDataFormatting.py
- Generates specialized analysis files
# Clone the repository
git clone https://github.com/Code-JL/NFL-Point-Kicker-Data-Scraper.git
# Navigate to project directory
cd NFL-Point-Kicker-Data-Scraper
# Install required packages
pip install -r requirements.txt
Execute the scripts in the following order:
python FootballInfoScraper.py
python FootballGameInfoScraper.py
python GameUrlDateSeparator.py
python DateToCSVFormat.py
python TotalDataFormatting.py
python SplitDataFormatting.py
Note: FootballGameInfoScraper.py
may take significant time to complete due to rate limiting.
The scraper generates several CSV files optimized for different analysis scenarios:
NFLKicksInfo2000-2022.csv
- Complete datasetNFLKicksInfo2000-2022WeatherSplit.csv
- Weather-specific analysisNFLKicksInfo2000-2022NonSplit.csv
- General analysisNFLKicksInfo2000-2022NonSplitClosedDome.csv
- Indoor game analysisNFLKicksInfo2000-2022WeatherSplitWindChill.csv
- Wind chill impact analysis
Each record includes:
- Game date and location
- Stadium characteristics
- Environmental conditions
- Kicking performance metrics
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Data sourced from Pro-Football-Reference
- Built with Python and BeautifulSoup4