Download space wide screen images with Python
And add it as your MacOS background
So I would like a new wallpaper every day from outer space.
I love Python so I was thinking about writing a python code to automate this.
So the assignment is:
Create a python script that daily downloads a ultra widescreen image from the galaxy and place it as macos background
To create a Python script that downloads a daily ultra widescreen image from the galaxy and sets it as the macOS background, you can follow these steps:
Install the necessary libraries
Download the image from a source of your choice
Save the image locally
Set the image as the macOS background
Here's a Python script that demonstrates this process using the NASA Astronomy Picture of the Day (APOD) API:
import os
import requests
import json
from datetime import datetime
from appscript import app, mactypes
# Get the APOD API Key from https://api.nasa.gov/
API_KEY = 'YOUR_API_KEY'
def download_image(url, filename):
response = requests.get(url)
with open(filename, 'wb') as file:
file.write(response.content)
def set_macos_background(filename):
app('Finder').desktop_picture.set(mactypes.File(filename))
def main():
date = datetime.now().strftime('%Y-%m-%d')
api_url = f'https://api.nasa.gov/planetary/apod?date={date}&api_key={API_KEY}'
response = requests.get(api_url)
apod_data = json.loads(response.text)
image_url = apod_data['hdurl']
file_ext = os.path.splitext(image_url)[1]
filename = os.path.expanduser(f'~/Pictures/apod_{date}{file_ext}')
download_image(image_url, filename)
set_macos_background(filename)
if __name__ == '__main__':
main()
To run this script, you'll need to install the appscript
library, which you can install using:
pip install appscript
Replace 'YOUR_API_KEY' with your NASA API key, which you can obtain from api.nasa.gov. Please note that this script is designed for macOS, and the NASA APOD API may not always provide an ultra-widescreen image.
To run the script daily, you can set up a cron job on your Mac:
Open Terminal
Type
env EDITOR=nano crontab -e
and press EnterAdd the following line to the file:
0 0 * * * /path/to/python3 /path/to/your_script.py
Replace
/path/to/python3
with the path to your Python 3 interpreter (usewhich python3
to find it) and/path/to/your_script.py
with the path to your script fileSave the file and exit (Ctrl+X, Y, Enter)
This will set up a daily cron job to run the script at midnight.