get_astrobin_potd.py 931 B

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env python3
  2. from datetime import datetime
  3. import requests
  4. import subprocess
  5. root = "https://www.astrobin.com"
  6. api_key = "3f542cbb23407bde6f20490f377366582dd1a54c"
  7. api_secret = subprocess.check_output(
  8. "pass personal/apikey/astrobin", shell=True
  9. ).decode("utf-8").strip()
  10. fmt = "json"
  11. iotd_uri = f"{root}/api/v1/imageoftheday/?limit=1&api_key={api_key}&api_secret={api_secret}&format={fmt}"
  12. r = requests.get(iotd_uri)
  13. image_info_uri = r.json()["objects"][0]["image"]
  14. r = requests.get(
  15. f"{root}{image_info_uri}?api_key={api_key}&api_secret={api_secret}&format={fmt}"
  16. )
  17. image_uri = r.json()["url_real"]
  18. img = requests.get(image_uri, stream=True)
  19. today = datetime.today().strftime("%Y-%m-%d")
  20. target_path = f"/home/powellc/var/inbox/astrobin/{today}.jpg"
  21. handle = open(target_path, "wb")
  22. for chunk in img.iter_content(chunk_size=512):
  23. if chunk: # filter out keep-alive new chunks
  24. handle.write(chunk)