import requests
import time
import random

BASE_URL = "https://yggapi.eu/torrents?page={}&q=1080P&category_id=2179&order_by=uploaded_at&per_page=100"
START_PAGE = 1
END_PAGE = 369
OUTPUT_FILE = "result.txt"

def fetch_json(page):
    url = BASE_URL.format(page)
    try:
        response = requests.get(url, timeout=10)
        response.raise_for_status()
        return response.json()  # Renvoie directement une liste
    except requests.exceptions.RequestException as e:
        print(f"Erreur lors de la récupération de la page {page}: {e}")
        return []

def main():
    with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
        for page in range(START_PAGE, END_PAGE + 1):
            print(f"Récupération de la page {page}...")
            data = fetch_json(page)

            if isinstance(data, list):  # Vérification que la réponse est bien une liste
                for torrent in data:
                    f.write(f"TITRE={torrent['title']} │ ID={torrent['id']}\n")
            else:
                print(f"Format inattendu pour la page {page}, données ignorées.")

            # Pause aléatoire entre 5 et 10 secondes
            #sleep_time = random.uniform(1, 3)
            #print(f"Pause de {sleep_time:.2f} secondes...")
            #time.sleep(sleep_time)

    print(f"Données enregistrées dans {OUTPUT_FILE}")

if __name__ == "__main__":
    main()