diff --git a/scripts/downloader.py b/scripts/downloader.py new file mode 100644 index 0000000..668fcc2 --- /dev/null +++ b/scripts/downloader.py @@ -0,0 +1,58 @@ +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}")