Files
api-server/scripts/downloader.py

59 lines
1.7 KiB
Python

from pathlib import Path
from time import sleep
import requests
import json
import os
if not Path("images/").exists():
os.mkdir("images/")
if not Path("images/weapons/").exists():
os.mkdir("images/weapons/")
if not Path("images/cases/").exists():
os.mkdir("images/cases/")
with open("items.json") as f:
items = json.load(f)
weapon_images = []
case_images = []
for item in items:
weapon_images.append(item["img_url"])
for case in item["cases"]:
case_images.append(case["img_url"])
weapon_images = list(set(weapon_images))
case_images = list(set(case_images))
for url in weapon_images:
print(f"\rDownloading {url}")
r = requests.get(url.replace(".png", ".webp"))
r.cookies.set("cookie_notice_accepted", "true")
while r.status_code == 429:
sleep(0.2)
r = requests.get(url.replace(".png", ".webp"))
r.cookies.set("cookie_notice_accepted", "true")
if r.status_code == 200:
with open(f"images/weapons/{url.split('/')[-1]}", "wb") as f:
r.raw.decode_content = True
f.write(r.content)
else:
print(f"Error {r.reason}, {r.status_code}")
for url in case_images:
print(f"\rDownloading {url}")
r = requests.get(url.replace(".png", ".webp"))
r.cookies.set("cookie_notice_accepted", "true")
while r.status_code == 429:
sleep(0.2)
r = requests.get(url.replace(".png", ".webp"))
r.cookies.set("cookie_notice_accepted", "true")
if r.status_code == 200:
with open(f"images/cases/{url.split('/')[-1]}", "wb") as f:
r.raw.decode_content = True
f.write(r.content)
else:
print(f"Error {r.reason}, {r.status_code}")