Python ile Speedtest yapmak

ByCrypto

Decapat
Katılım
25 Ekim 2020
Mesajlar
415
Çözümler
2
Yer
Adana
Daha fazla  
Cinsiyet
Erkek
Merhaba arkadaşlar, ilk programlama gönderim olacak hatam olursa şimdiden kusura bakmayın. Python kullanarak küçük bir script ile Speedtest nasıl yapılır onu anlatacağım elimden geldiğince. Neyse hadi başlayalım.

a-) İlk olarak gerekli kütüphaneleri kurmamız gerekiyor, gerekli kütüphaneleri aşağıdaki kodu ile kurabilirsiniz​


Kod:
pip install speedtest-cli

b-) Gerekli kütüphaneleri kurduktan sonra gelin script yazmaya başlayalım​

1-) Gerekli kütüphaneleri projemize aşağıdaki kod ile ekliyoruz.

Kod:
import speedtest

2-) Aşağıdaki kod da test adında bir değişken oluşturup Speedtest kütüphanesindeki Speedtest() fonksiyonun çağırıyoruz, ardından test.get_servers metodunu kullanarak sunucu listesini çekiyoruz.

Kod:
test = speedtest.Speedtest()
print("Sunucu Listesi Yükleniyor...")
test.get_servers

3-) Bu kod ise size en yakındaki Speedtest sunucusunu seçiyor.

Kod:
print("En Uygun Sunucu Aranıyor...")
bestserver = test.get_best_server()

4-) Burada ise en yakındaki Speedtest sunucunu bilgileri ekrana yazdırmamızı sağlıyor.

Kod:
print("Sunucu Bilgileri")
print("Ülke: ", bestserver['country'])
print("Şehir: ", bestserver['name'])
print("Sağlayıcı: ", bestserver['sponsor'])
print("Sunucu: ", bestserver['host'])
print("-"*45)

5-) Sıra geldi download, upload ve ping testlerini yapıp ekrana yazdırmaya.

Kod:
download = test.download()
upload = test.upload()
ping = test.results.ping
print(f"\nDownload: {download / 1024 / 1024:.2f} Mbit/s")
print(f"\nUpload: {upload / 1024 / 1024:.2f} Mbit/s")
print(f"\nPing: {ping}")

6-) Kodun tam hali;

Kod:
import speedtest

test = speedtest.Speedtest()
print("Sunucu Listesi Yükleniyor...")
test.get_servers

print("En Uygun Sunucu Aranıyor...")
bestserver = test.get_best_server()

print("Sunucu Bilgileri")
print("Ülke: ", bestserver['country'])
print("Şehir: ", bestserver['name'])
print("Sağlayıcı: ", bestserver['sponsor'])
print("Sunucu: ", bestserver['host'])
print("-"*45)

download = test.download()
upload = test.upload()
ping = test.results.ping

print(f"\nDownload: {download / 1024 / 1024:.2f} Mbit/s")
print(f"\nUpload: {upload / 1024 / 1024:.2f} Mbit/s")
print(f"\nPing: {ping}")

Projemiz bu kadardı umarım faydalı bir konu olmuştur. Herkese iyi günler dilerim.
 
Son düzenleyen: Moderatör:
Hazır yazılmış kütüphane varken tekerleği yeniden keşfetmeye gerek var mı 😀😊
Bu sektör üzerinden devam edecekseniz ilerde cevabın "var" olduğunu anlayacaksınız. Kütüphane kullanılarak değil de kütüphaneyi kendiniz yazarak "projeler" yapabilirsiniz.

Sizin mantığınızdan baktığınız zaman hiç kimsenin web alanında çalışmasına gerek yok, ne de olsa WP var. Bu mantık doğru değil.

Projeye gelecek olursak başlangıç aşamasında kütüphane çağırıp bu tür işlemler yapılması güzel. Fakat @bitwise hocamın da dediği gibi bunu kendin yazmaya çalışarak çok daha iyi bir proje haline getirebilirsin. Emin ol sana katkısı çok daha fazla olacaktır. İyi çalışmalar, eline sağlık. :)
 
Bu sektör üzerinden devam edecekseniz ileride cevabın "var" olduğunu anlayacaksınız. Kütüphane kullanılarak değil de kütüphaneyi kendiniz yazarak "projeler" yapabilirsiniz.

Sizin mantığınızdan baktığınız zaman hiç kimsenin web alanında çalışmasına gerek yok, ne de olsa wp var. Bu mantık doğru değil.

Projeye gelecek olursak başlangıç aşamasında kütüphane çağırıp bu tür işlemler yapılması güzel. Fakat @bitwise hocamın da dediği gibi bunu kendin yazmaya çalışarak çok daha iyi bir proje haline getirebilirsin. Emin ol sana katkısı çok daha fazla olacaktır. İyi çalışmalar, eline sağlık. :)

Katılıyorum tabii ki ileride kendi kütüphaneni yazabilirsin ama başlangıç aşamasında buna pek gerek yok😊
 
Hazır yazılmış kütüphane varken tekerleği yeniden keşfetmeye gerek var mı 😀😊

Bence var, cunku hic standart bir is yapmiyor.
Ping neye gore hesaplaniyor bilmiyorsun mesela. ( Mean, avg, std dev vs )
Server listesini, download ve upload varyasyonlarini vs kendin hesaplayabilirsin.
Mesela bana gore ping ortalamasi degil, en uzun ping suresi onemlidir network kalitesi icin.

Baslangic seviyesi icin bunu yapmak daha da onemli. Hem ogretici olur hem de zevkli olur bana gore.

Konuyu gereksiz kotuluyorum gibi anlasilmasin, sonucta calisiyor ve is goruyor. Ama aslinda yapilan sey dependency import edip ciktisini print etmek :)

Bence sadece download hizini olcen python fonksiyonu yazmak cok daha ogretici ve ilginc olurdu.
 

Yeni konular

Geri
Yukarı