Skip to content

axe433/bing_wallpaper_data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Bing Wallpaper Data Crawler and Markdown Generator

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.

๐ŸŒŸ Key Features

๐Ÿ“Š Data Crawling

  • 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.

๐Ÿ–ผ๏ธ Image Download

  • 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

๐Ÿ“ Document Generation

  • 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 Structure

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)

๐Ÿš€ Core Scripts

bing_data.py - Data Crawling Script

  • 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

download_wallpapers_action.py - Wallpaper Download Script

  • Function: Downloads high-definition wallpaper images and manages files
  • Features:
    • Smart Skip: Checks md5 field 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

generate_markdown.py - Document Generation Script

  • 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

generate_readme.py - README Generation Script

  • Function: Automatically generates bilingual README documents
  • Input: Reads from templates/README_template.md and templates/README_CN_template.md
  • Output: Updates README.md and README_CN.md in 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

โš™๏ธ Automated Workflow

GitHub Actions automatically executes the following steps daily:

  1. ๐Ÿ”„ Checkout Code - Get the latest project code
  2. ๐Ÿ Setup Python Environment - Configure Python runtime environment
  3. ๐Ÿ“ฆ Install Dependencies - Install necessary libraries like requests
  4. ๐Ÿ“Š Crawl Data - Run bing_data.py to get latest wallpaper data
  5. ๐Ÿ–ผ๏ธ Download Images - Run download_wallpapers_action.py to download new wallpapers
  6. ๐Ÿ“ Generate Documents - Run generate_markdown.py to update Markdown documents
  7. ๐Ÿ“„ Generate README - Run generate_readme.py to update project README files
  8. ๐Ÿ’พ Commit Changes - Automatically commit and push all updates

๐ŸŒ Supported Countries and Regions

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

๐Ÿ› ๏ธ Local Usage

Requirements

  • Python 3.7+
  • requests library

Install Dependencies

pip install requests

Manual Execution

# 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

Image Deduplication Tool

# Clean duplicate image files
python crawl/deduplicate_images.py

๐Ÿ“‹ Generated Document Features

Each generated Markdown document includes:

๐ŸŽฏ Today's Wallpaper

  • High-definition wallpaper preview
  • Detailed description and copyright information
  • Click to view details page link

๐Ÿ“… Recent 30 Days

  • 3-column responsive grid layout
  • Thumbnail and basic information for each wallpaper
  • Formatted date display

๐Ÿ—ƒ๏ธ Archive Navigation

  • Month navigation grouped by year
  • Current month highlighting
  • Beautiful button-style design

๐ŸŒ Multilingual Support

  • Automatically selects interface language based on country
  • Supports English, Chinese, German, French, Japanese, etc.
  • Extensible internationalization framework

๐Ÿ”ง Configuration

GitHub Actions Configuration

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 push

Data Format

Each wallpaper data item contains the following fields:

  • startdate / enddate: Start and end dates of the wallpaper
  • url / urlbase: URL information of the wallpaper
  • copyright: Copyright information
  • title: Wallpaper title
  • md5: MD5 hash value of the image file (added after download)
  • MediaContent: Detailed media content information

๐ŸŽจ Featured Capabilities

Smart Download Management

  • โœ… Incremental Download: Only downloads new wallpapers without md5 field
  • โœ… 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

Document Generation Optimization

  • โœ… 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

Automated Operations

  • โœ… 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

๐Ÿ“ˆ Project Statistics

  • 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

๐Ÿค Contributing

Welcome to submit Issues and Pull Requests to improve this project!

๐Ÿ“„ License

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

๐ŸŒ Country Wallpaper Links

Click the links below to view wallpaper for each country:

๐Ÿ‡ฆ๐Ÿ‡ท Argentina ๐Ÿ‡ฆ๐Ÿ‡บ Australia ๐Ÿ‡ง๐Ÿ‡ท Brazil ๐Ÿ‡จ๐Ÿ‡ฆ Canada ๐Ÿ‡จ๐Ÿ‡ณ China
๐Ÿ‡จ๐Ÿ‡ฟ Czech Republic ๐Ÿ‡ฉ๐Ÿ‡ช Germany ๐Ÿ‡ฉ๐Ÿ‡ฐ Denmark ๐Ÿ‡ช๐Ÿ‡ธ Spain ๐Ÿ‡ซ๐Ÿ‡ฎ Finland
๐Ÿ‡ซ๐Ÿ‡ท France ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom ๐Ÿ‡ฌ๐Ÿ‡ท Greece ๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia
๐Ÿ‡ฎ๐Ÿ‡ณ India ๐Ÿ‡ฎ๐Ÿ‡น Italy ๐Ÿ‡ฏ๐Ÿ‡ต Japan ๐Ÿ‡ฐ๐Ÿ‡ท South Korea ๐Ÿ‡ฒ๐Ÿ‡พ Malaysia
๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands ๐Ÿ‡ณ๐Ÿ‡ด Norway ๐Ÿ‡ต๐Ÿ‡ฑ Poland ๐Ÿ‡ต๐Ÿ‡น Portugal ๐Ÿ‡ท๐Ÿ‡บ Russia
๐Ÿ‡ธ๐Ÿ‡ช Sweden ๐Ÿ‡ธ๐Ÿ‡ฌ Singapore ๐Ÿ‡น๐Ÿ‡ญ Thailand ๐Ÿ‡น๐Ÿ‡ท Turkey ๐Ÿ‡น๐Ÿ‡ผ Taiwan
๐Ÿ‡บ๐Ÿ‡ฆ Ukraine ๐Ÿ‡บ๐Ÿ‡ธ United States ๐Ÿ‡ป๐Ÿ‡ณ Vietnam ๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa

Today's Wallpaper

Where holiday magic runs on hooves

Where holiday magic runs on hooves

Few creatures evoke the magic of the holidays quite like the reindeer. Also known as caribou, they are the spirit animals of Christmas loversโ€”and they rock it. Sturdy and sure-footed, they've been pulling Santa's sleigh ever since Clement Clarke Moore cast them in the role in his 1823 poem 'A Visit from Saint Nicholas.' And they were born for it. Their hooves shrink in winter to expose a gripping rim, then expand in warmer months for better traction. Still not impressed? Consider this: reindeer don't have an internal clock. Instead, their melatoninโ€”the hormone that regulates sleepโ€”adjusts to light and darkness, helping them stay awake through endless nights of gift delivery.

ยฉ Roberto Moiola/Getty Images (Bing United States)


Recent 30 Days

Where holiday magic runs on hooves From Hoffmann's pages to global stages Birth of the new sun
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 High mountains, deep history Layers of time in Utah
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 Tiny hats, big spirits Still waters, bright lights
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 Frozen reflections The plant that paints the holidays red
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 Where cultures converge Say 'cheese'โ€ฆ or grass
Where the sky meets Earth
Summit of Mount Everest at sunset, seen from Renjo La, Nepal
2025-12-12
Where cultures converge
Interior of the Mosque-Cathedral of Cรณrdoba, Andalusia, Spain
2025-12-11
Say 'cheese'โ€ฆ or grass
Guanaco in Punta Norte, Argentina
2025-12-10
All is calm, all is bright Remembering Pearl Harbor Florida's living wetlands
All is calm, all is bright
Christmas lights in Domaso, Lake Como, Italy
2025-12-09
Remembering Pearl Harbor
USS Arizona Memorial, Pearl Harbor, Honolulu, Hawaii
2025-12-08
Florida's living wetlands
Spider webs in Everglades National Park, Florida
2025-12-07
The city that mapped the stars Sprint for survival Dawn of the cranes
The city that mapped the stars
Maya site of Copรกn, Honduras
2025-12-06
Sprint for survival
Cheetah in Maasai Mara National Reserve, Narok, Kenya
2025-12-05
Dawn of the cranes
Sandhill cranes at sunrise, Bosque del Apache National Wildlife Refuge, New Mexico
2025-12-04
A view that speaks volumes Where ice holds its breath Twinkle all the way
A view that speaks volumes
Willow Lake and Mount Blackburn, Wrangell-St. Elias National Park and Preserve, Alaska
2025-12-03
Where ice holds its breath
Natural arch carved in an iceberg, Antarctica
2025-12-02
Twinkle all the way
Christmas market in Leipzig, Germany
2025-12-01
Oh deer, it's cold! Wear your heritage The echoes of Plymouth
Oh deer, it's cold!
Red deer stag in De Hoge Veluwe National Park, Netherlands
2025-11-30
Wear your heritage
Collection of silver Native American concho belts, Santa Fe, New Mexico
2025-11-29
The echoes of Plymouth
Male wild turkey plumage, Aransas Natural Wildlife Refuge, Texas
2025-11-28
'Leaf' it to history Love, luck, and loose change Secrets in stone
'Leaf' it to history
Olive orchard in the Serra de Tramuntana, Mallorca, Balearic Islands, Spain
2025-11-27
Love, luck, and loose change
The Trevi Fountain in Rome, Italy
2025-11-26
Secrets in stone
Gwalior Fort, Madhya Pradesh, India
2025-11-25

Wallpaper Archive by Year

2025


Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages