Merhaba, localhost üzerinde kendi kodladığım sitemde denemeler yapıyorum. Yazdığım kod ile sayfadan belirli alanları çekiyorum. Program thread kullanmadan 40 saniye de çalışıyor, threading ile 10 saniye de. Süreden belirli ölçüde kar ettim fakat kodlar da göreceğiniz gibi thread yapısını tek tek yazdım bunun daha kolay yolunu beceremedim. En basit ve yalın şekilde düzenleyebilir misiniz?
import requests
from bs4 import BeautifulSoup
import threading
def craw(first, last):
for i in range(first, last):
r = requests.get(f"http://127.0.0.1/sayfalar/{i}##")
soup = BeautifulSoup(r.content, "lxml")
for user in soup.find_all("myres", attrs={"class": "satirbasi"}):
print(user.span.text)
t1 = threading.Thread(target=craw, args=(1, 100)).start()
t2 = threading.Thread(target=craw, args=(100, 200)).start()
t3 = threading.Thread(target=craw, args=(200, 300)).start()
t4 = threading.Thread(target=craw, args=(300, 400)).start()
t5 = threading.Thread(target=craw, args=(400, 500)).start()
t6 = threading.Thread(target=craw, args=(500, 600)).start()
t7 = threading.Thread(target=craw, args=(600, 700)).start()
t8 = threading.Thread(target=craw, args=(700, 800)).start()
t9 = threading.Thread(target=craw, args=(800, 900)).start()
t10 = threading.Thread(target=craw, args=(900, 1000)).start()