import requests from bs4 import BeautifulSoup from concurrent.futures import ThreadPoolExecutor # Başlangıç ve bitiş sayıları start_pr = 1 end_pr = 36976836 # Dosya adı file_name = "data.txt" # Her bir pr değeri için işlemleri gerçekleştiren fonksiyon def process_pr(pr_value): url = f'https://atelier801.com/profile?pr={pr_value}' url_html = requests.get(url) # İstek başarılı ise işlemleri gerçekleştir if url_html.status_code == 200: soup = BeautifulSoup(url_html.text, 'html.parser') # name.text için span etiketini bul name = soup.find_all('span')[9].text # name_1.text için img etiketini ve class'ını bul name_1 = soup.find('img', {'class': 'img20 espace-2-2'}).text # Dosyaya yaz with open(file_name, 'a', encoding='utf-8') as file: file.write(f'{name}|{name_1}\n') print(f'Processed PR {pr_value}: {name}|{name_1}') # İstek başarısız ise hata mesajını yazdır else: print(f'Error: Unable to fetch data for PR {pr_value}') # ThreadPoolExecutor ile çoklu iş parçacığı kullanarak işlemleri gerçekleştir with ThreadPoolExecutor() as executor: executor.map(process_pr, range(start_pr, end_pr + 1)) print(f'Data has been written to {file_name}')