An automated Bing wallpaper data collection and documentation generation project that supports daily wallpaper data crawling, high-definition image downloading, and Markdown document generation for 34+ countries and regions.
- Multi-Country Support: Supports 34+ countries and regions for Bing wallpaper data
- Daily Auto-Update: Automatically runs daily at 23:01 UTC via GitHub Actions
- Data Integrity: Saves complete wallpaper metadata including titles, copyright info, descriptions, etc.
- High-Definition Wallpapers: Automatically downloads UHD ultra-high-definition wallpapers
- Smart Deduplication: Automatically detects and removes duplicate images based on MD5 hash
- Incremental Download: Only downloads new wallpapers, avoiding duplicates
- File Management: Uses MD5 values as filenames for easy management and deduplication
- Automated Documentation: Generates dedicated Markdown documents for each country
- Responsive Layout: 3-column grid layout that adapts to different screen sizes
- Multi-Time Dimensions: Supports today's wallpaper, recent 30 days, and archive browsing by year/month
- Multilingual Support: Supports interface text in multiple languages
Project Root/
├── .github/workflows/ # GitHub Actions workflows
│ └── python-app.yml # Automation task configuration
├── crawl/ # Crawler scripts directory
│ ├── bing_data.py # Data crawling script
│ ├── download_wallpapers_action.py # Wallpaper download script (Actions version)
│ ├── download_wallpapers.py # Wallpaper download script (Local version)
│ ├── generate_markdown.py # Markdown document generation script
│ ├── generate_readme.py # README generation script
│ └── deduplicate_images.py # Image deduplication tool
├── jsonc/ # Wallpaper data storage
│ ├── us/bing.jsonc # US wallpaper data
│ ├── cn/bing.jsonc # China wallpaper data
│ └── ... # Other country data
├── images/ # Downloaded wallpaper images
│ ├── {md5}.jpg # Image files named with MD5
│ └── ...
├── markdown/ # Generated documents
│ ├── wallpaper-list-us.md # US wallpaper document
│ ├── wallpaper-list-cn.md # China wallpaper document
│ └── ... # Other country documents
├── messages/ # Internationalization text
│ ├── us.json # English interface text
│ ├── cn.json # Chinese interface text
│ └── ...
├── templates/ # README template files
│ ├── README_template.md # English README template
│ └── README_CN_template.md # Chinese README template
├── README.md # Project documentation (auto-generated)
└── README_CN.md # Chinese documentation (auto-generated)
- Function: Crawls daily wallpaper data from Bing API
- Output: Saves to
jsonc/{country}/bing.jsonc - Features:
- Supports 34+ countries and regions
- Automatic API response and error handling
- Maintains chronological order (newest first)
- Incremental updates, avoiding duplicate data
- Function: Downloads high-definition wallpaper images and manages files
- Features:
- Smart Skip: Checks
md5field in JSON, skips already downloaded items - URL Construction:
https://www.bing.com{urlbase}_UHD.jpg - MD5 Management: Calculates image MD5 value, used as filename and deduplication identifier
- Auto Deduplication: Automatically deletes duplicate files with same MD5
- Data Update: Writes MD5 value back to JSON data
- Smart Skip: Checks
- Function: Generates beautiful Markdown wallpaper documents
- Output: Saves to
markdown/wallpaper-list-{country}.md - Features:
- Today's Wallpaper: Showcases the featured wallpaper of the day
- Recent 30 Days: 3-column grid layout showing recent wallpapers
- Archive Navigation: Historical wallpaper browsing organized by year/month
- Responsive Design: Display effects adapted to different devices
- Multilingual Support: Displays interface in corresponding language based on country
- Function: Automatically generates bilingual README documents
- Input: Reads from
templates/README_template.mdandtemplates/README_CN_template.md - Output: Updates
README.mdandREADME_CN.mdin project root - Features:
- Template-Based: Uses template files to avoid overwriting base content
- Country Links: Generates links to all country wallpaper documents
- Today's Wallpaper: Embeds today's featured wallpaper (US for English, CN for Chinese)
- Bilingual Support: Generates both English and Chinese versions
- Auto-Update: Runs daily with other automation tasks
GitHub Actions automatically executes the following steps daily:
- 🔄 Checkout Code - Get the latest project code
- 🐍 Setup Python Environment - Configure Python runtime environment
- 📦 Install Dependencies - Install necessary libraries like
requests - 📊 Crawl Data - Run
bing_data.pyto get latest wallpaper data - 🖼️ Download Images - Run
download_wallpapers_action.pyto download new wallpapers - 📝 Generate Documents - Run
generate_markdown.pyto update Markdown documents - 📄 Generate README - Run
generate_readme.pyto update project README files - 💾 Commit Changes - Automatically commit and push all updates
The project supports the following 34 countries and regions:
| Code | Country/Region | Code | Country/Region | Code | Country/Region |
|---|---|---|---|---|---|
ar |
🇦🇷 Argentina | au |
🇦🇺 Australia | br |
🇧🇷 Brazil |
ca |
🇨🇦 Canada | cn |
🇨🇳 China | cz |
🇨🇿 Czech Republic |
de |
🇩🇪 Germany | dk |
🇩🇰 Denmark | es |
🇪🇸 Spain |
fi |
🇫🇮 Finland | fr |
🇫🇷 France | gb |
🇬🇧 United Kingdom |
gr |
🇬🇷 Greece | hk |
🇭🇰 Hong Kong | id |
🇮🇩 Indonesia |
in |
🇮🇳 India | it |
🇮🇹 Italy | jp |
🇯🇵 Japan |
kr |
🇰🇷 South Korea | my |
🇲🇾 Malaysia | nl |
🇳🇱 Netherlands |
no |
🇳🇴 Norway | pl |
🇵🇱 Poland | pt |
🇵🇹 Portugal |
ru |
🇷🇺 Russia | se |
🇸🇪 Sweden | sg |
🇸🇬 Singapore |
th |
🇹🇭 Thailand | tr |
🇹🇷 Turkey | tw |
🇹🇼 Taiwan |
ua |
🇺🇦 Ukraine | us |
🇺🇸 United States | vn |
🇻🇳 Vietnam |
za |
🇿🇦 South Africa |
- Python 3.7+
requestslibrary
pip install requests# 1. Crawl wallpaper data
python crawl/bing_data.py
# 2. Download wallpaper images
python crawl/download_wallpapers_action.py
# 3. Generate Markdown documents
python crawl/generate_markdown.py
# 4. Generate README documents
python crawl/generate_readme.py# Clean duplicate image files
python crawl/deduplicate_images.pyEach generated Markdown document includes:
- High-definition wallpaper preview
- Detailed description and copyright information
- Click to view details page link
- 3-column responsive grid layout
- Thumbnail and basic information for each wallpaper
- Formatted date display
- Month navigation grouped by year
- Current month highlighting
- Beautiful button-style design
- Automatically selects interface language based on country
- Supports English, Chinese, German, French, Japanese, etc.
- Extensible internationalization framework
Workflow configuration file: .github/workflows/python-app.yml
name: Generate Bing Wallpaper Json Auto
on:
schedule:
- cron: '1 23 * * *' # Execute daily at 23:01 UTC
workflow_dispatch: # Support manual trigger
jobs:
download_and_push:
runs-on: ubuntu-latest
steps:
- name: run bingjson
run: python crawl/bing_data.py
- name: Download wallpaper images
run: python crawl/download_wallpapers_action.py
- name: Generate markdown documents
run: python crawl/generate_markdown.py
- name: Generate README documents
run: python crawl/generate_readme.py
- name: Commit and Push
run: |
git add .
git commit -m "Update wallpaper data and markdown at $(date)"
git pushEach wallpaper data item contains the following fields:
startdate/enddate: Start and end dates of the wallpaperurl/urlbase: URL information of the wallpapercopyright: Copyright informationtitle: Wallpaper titlemd5: MD5 hash value of the image file (added after download)MediaContent: Detailed media content information
- ✅ Incremental Download: Only downloads new wallpapers without
md5field - ✅ Auto Deduplication: Avoids duplicate images based on MD5 hash
- ✅ Error Handling: Graceful handling of network exceptions without interrupting the process
- ✅ Detailed Logging: Provides clear processing progress and result statistics
- ✅ Responsive Design: Adapts to desktop and mobile devices
- ✅ SEO Friendly: Structured titles and metadata
- ✅ Fast Loading: Optimized image links and layout
- ✅ User Experience: Intuitive navigation and browsing experience
- ✅ Scheduled Execution: Daily automatic updates without manual intervention
- ✅ Error Monitoring: GitHub Actions provides execution status monitoring
- ✅ Version Control: All changes have complete Git history records
- ✅ Scalability: Easy to add new countries and features
- Supported Countries: 34+ countries and regions
- Data Format: JSON/JSONC structured storage
- Image Quality: UHD ultra-high-definition (usually 3840x2160 or higher)
- Update Frequency: Daily automatic updates
- Document Format: Markdown, perfectly compatible with GitHub
Welcome to submit Issues and Pull Requests to improve this project!
This project is for learning and research purposes only. All wallpaper copyrights belong to Microsoft Bing and the respective photographers/copyright owners.
Last Updated: August 2025
Click the links below to view wallpaper for each country:
Where time grows tall
Step into the realm of giants. Try embracing a BFG (Big Friendly Giant) as you wrap your arms around a thousand years of wisdom in a single tree trunk. Welcome to Muir Woods National Monument—established on this day in 1908—a majestic hall of coastal redwoods just north of San Francisco. These towering redwoods are the tallest trees on Earth—one here stretches about 258 feet, roughly the height of 43 people stacked head to toe. Most are 600–800 years old, and some have stood for over a millennium, yet they're still considered 'young' for a species that can live for 2,000 years.
© photo by canderson/Getty Images (Bing United States)
![]() |
![]() |
![]() |
| Where time grows tall Giant redwood trees in Muir Woods National Monument, California 2026-01-10 |
Rust meets rush Starling murmuration over the ruins of Brighton's West Pier, England 2026-01-09 |
Rock legends Turret Arch framed by North Window in Arches National Park, Utah 2026-01-08 |
![]() |
![]() |
![]() |
| Chillin' in Nuuk Nuuk, Greenland 2026-01-07 |
Herd on high alert A herd of impalas, Londolozi Game Reserve, South Africa 2026-01-06 |
A royal view Kings Mountain, Chugach Mountains, Alaska 2026-01-05 |
![]() |
![]() |
![]() |
| The steps before the saga Staubbach Falls at Lauterbrunnen, Canton of Bern, Switzerland 2026-01-04 |
The soul of Venice Aerial view of Venice, Italy 2026-01-03 |
Stretch into the New Year Arctic fox sleeping 2026-01-02 |
![]() |
![]() |
![]() |
| Where Berlin bridges the New Year New Year's Eve, Oberbaum Bridge, Berlin, Germany 2026-01-01 |
Whoop, there they fly Whooper swans, Kotoku Pond, Japan 2025-12-31 |
The church that outlived a city St. Gregory Church in Ani Ruins, Kars, Türkiye 2025-12-30 |
![]() |
![]() |
![]() |
| What remains wild Black-and-white ruffed lemur in Madagascar 2025-12-29 |
Shards of winter Plate ice along Lake Superior, Grand Marais, Minnesota 2025-12-28 |
Unboxed traditions Salisbury Cathedral, Wiltshire, England 2025-12-27 |
![]() |
![]() |
![]() |
| Miniature worlds, infinite wonder Snow globes at a Christmas market in Heidelberg, Germany 2025-12-26 |
Traditions that travel Snowy chapel with Christmas tree in the Bavarian Alps, Germany 2025-12-25 |
Where holiday magic runs on hooves Reindeer during winter snowfall, Lapland, Finland 2025-12-24 |
![]() |
![]() |
![]() |
| From Hoffmann's pages to global stages 'The Nutcracker' performed by the Turkish State Opera and Ballet in Ankara, Türkiye 2025-12-23 |
Birth of the new sun Dawn light through frosty trees, Sweden 2025-12-22 |
Twinkle, twinkle, paper stars Christmas star lanterns, Germany 2025-12-21 |
![]() |
![]() |
![]() |
| High mountains, deep history Snow-covered landscape at Bormio, Lombardy, Italy 2025-12-20 |
Layers of time in Utah Temple of the Sun, Capitol Reef National Park, Utah 2025-12-19 |
Fur, frost, and feast Eurasian red squirrel in Northumberland, England 2025-12-18 |
![]() |
![]() |
![]() |
| Tiny hats, big spirits Handmade gnomes at a Christmas market 2025-12-17 |
Still waters, bright lights Lights on Spiegelgracht canal, Amsterdam, Netherlands 2025-12-16 |
The great holiday bird-off Tufted titmouse perched on pine boughs, Massachusetts 2025-12-15 |
![]() |
![]() |
![]() |
| Frozen reflections Merced River, Yosemite National Park, California 2025-12-14 |
The plant that paints the holidays red Spotted poinsettia 2025-12-13 |
Where the sky meets Earth Summit of Mount Everest at sunset, seen from Renjo La, Nepal 2025-12-12 |





























