GitHub Trending Scraper
Scrape GitHub Trending repositories across different time periods (daily, weekly, monthly) and save structured data to JSON files.
Usage
Run the scraper script to fetch trending repositories:
python scripts/github_trending_scraper.py
The script will:
- Scrape trending repositories for all three periods (daily, weekly, monthly)
- Extract project metadata: name, URL, description, language, stars, forks
- Save results to
github_trending.jsonin the current directory - Display statistics about scraped projects
Output Format
The generated JSON file contains:
{
"update_time": "2026-02-09 10:30:00",
"data": {
"daily": [...],
"weekly": [...],
"monthly": [...]
}
}
Each project includes:
name: Repository full name (owner/repo)url: GitHub repository URLdescription: Project descriptionlanguage: Primary programming languagestars: Total star countforks: Total fork countstars_daily/weekly/monthly: New stars in the period
Dependencies
Install required packages:
pip install requests beautifulsoup4
Or use the provided requirements file:
pip install -r requirements.txt
Customization
To scrape only specific periods, modify the periods list in the main() function of the script.
To change the output filename, modify the output_file variable in the script.