Skip to content

Instantly share code, notes, and snippets.

@riyafa
Last active June 15, 2020 08:50
Show Gist options
  • Save riyafa/c29ce156718d8d45f957917cbf8cecb6 to your computer and use it in GitHub Desktop.
Save riyafa/c29ce156718d8d45f957917cbf8cecb6 to your computer and use it in GitHub Desktop.
[Python2] Download weekly Bing wallpapers to a given folder. Can run it as a cron job everyday
import json, os
import os
import time
import urllib
import urllib2
from os.path import expanduser
from datetime import datetime
home_site = "http://bing.com"
weekly_wallpapers_url = home_site + "/HPImageArchive.aspx?format=js&idx=0&n=8&mkt=en-US"
def get_weekly_wallpapers():
wallpapers_folder = os.path.join( expanduser('~'), 'Pictures/BingWallpapers' )
is_force = False
if not os.path.exists(wallpapers_folder):
os.makedirs(wallpapers_folder)
try:
r = urllib2.urlopen( weekly_wallpapers_url )
weekly_wallpapers = json.load(r)['images']
print "\n[%s]" % (datetime.now())
print "There are %s wallpapers on the feed" % (len(weekly_wallpapers))
for wallpaper in weekly_wallpapers:
download_url = wallpaper['url']
if home_site not in download_url:
download_url = home_site + download_url
file_name = wallpaper['startdate'] + "_" + wallpaper['title'] + '.jpg'
wallpaper_path = os.path.join(wallpapers_folder, file_name )
#Wallpaper doesn't exist
if os.path.isfile(wallpaper_path) is False or is_force is True:
print "Downloading " + wallpaper['copyright'].encode('utf-8')
urllib.urlretrieve ( download_url, wallpaper_path )
print wallpaper_path
print "All weekly wallpapers are downloaded successfully"
except Exception, e:
print "error"
print e
time.sleep(1)
else:
pass
finally:
pass
get_weekly_wallpapers()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment