import requests
import concurrent.futures

# requests.get isteğini fonksiyon haline getirme
def send_request(url, params):
    try:
        response = requests.get(url, params=params)
        if response.status_code == 200:
            print(params['page'])  # Sayfanın numarasını yazdırma
            return response.json()
        else:
            raise Exception(f"Statu: {response.status_code}")
    except requests.exceptions.RequestException as e:
        # Handle exception here if needed
        print("Error:", e)
        return None

def getdata(self, category):
    sayfasayi = int(category["sayfasayisi"])
    dusdata = []
    urunler = []

    # Eşzamanlı istekler için ThreadPoolExecutor oluşturma
    with concurrent.futures.ThreadPoolExecutor(max_workers=sayfasayi) as executor:
        # İstekleri eşzamanlı olarak gönderme
        futures = {executor.submit(send_request, "https://www.test.com", {'page': str(x)}): x for x in range(1, sayfasayi+1)}

        # Tamamlanan istekleri işleme
        for future in concurrent.futures.as_completed(futures):
            x = futures[future]  # Sayfanın numarasını al
            html = future.result()  # İstek sonucunu al

            if html:
                # İşlem yapma ve urunler listesine ekleyerek devam et
                for r in html['products']:
                    isim = r['name']
                    url = BASE_URL + r["url"]
                    urunler.append([isim, url])

    # Burada json işlemi var

    self.urunsayisi += len(urunler)
    urunler.clear()
    dusdata.clear()
Bir deneyin...