Merhaba son 1 yıldır python ile ugrasıyorum ve her bilgiyi parça parça öğrendim ve sonunda kendime bir proje hazırladım bu projeyi web üzerinden yayına alacagım ama bu konuda bilgim yok ve tam bir örnekte bulamadım.
Flask üzerinden bir web arayüzü tasarladım ve kullanıcı ordan web kazıma yapmak istediği sayfaları girecek sonra diğer paralel çalışan kodum scraping işlemini gerçekleştirecek , tamamlanınca o verileri flaskda gösterim için database aktaracak yani 2 farklı çalışan kodum olacak.
Flask arayüzü için hangi hosting hizmetini kullanabilirim ?
Pythonanywhere adında bir hizmet duydum uygun mudur ?
Diğer web scraping yapan kodum ise devamlı while döngüsünde olacak flask tarafından bir veri gelirse web kazıma işlemini gerçekleştirip veriyi flask databasene aktaracak. Bunun için nasıl 7/24 çalışan bir hizmet alabilirim ? sanal sunucu mu gerekli ? yoksa digitalocean diye bir site duydum onunla çalışabilir miyim ?
Bu proje ile alakalı tüm öneri proje taslak eğitim ne varsa bilgi verebilirseniz sevinirim.
acemiyim ve puzzleları birleştirmekte zorlandım.
sunucu şirketlerinden bu hizmet alınabilir. Uzak masaüstü bağlantısı ile de kontrol edebiliyorsunuz. bahsettiğiniz gibi 7 24 açık bir bilgisayar. Çalıştırdığınız kod siz kapatana kadar ya da sunucu şirketi havaya uçana kadar orada çalışmaya devam ediyor.
Pythonanywhere internetten veri çekmek için belli bir kotaya sahip. (Bir kere ban yediğim için biliyorum.)
O yüzden scraping için pek uygun bir platform değil. Ama diğer işleriniz için rahatlıkla kullanabilirsiniz.
Buna spesifik bir hizmet yerine uzaktan erisilip her istenen yapilabilen bir sunucu isi gorecektir. Buna VPS (virtual private server) diyoruz. AWS terminolojisinde EC2, DigitalOcean terminolojisinde Droplet olarak geciyor.
Bahsettigin iki hizmeti de kurmak Linux deneyimi olan biri icin bir saati gecmez.
Bu deneyime sahip degilsen kisisel bilgisayarinda edinmeni tavsiye ederim.
Flask’li web sitesi icin bir WSGI katmani gerekecek. Sahsen nginx ve uWSGI kullandim fakat gunicorn vs. kadar kolay olabilir diye duydum. Buldugun ilk guzel tutorial uzerinden ilerlemeni tavsiye ederim. Zorlayan bir tutoryali birakip bir baskasina gecmekten cekinme.
Ikincisi cok daha kolay. Script’i basitce screen altinda calistirabilirsin. Screen’i calistiran terminal kapandiginda arkada calismaya devam eder, herhangi bir noktada screen’e geri baglanarak programin kontrolunu geri alabilirsin. En olmadi nohup var.
Tavsiyem elinin altindaki bir makineye Ubuntu kurup istediklerini komut satiri uzerinden yapmayi ogrenmen. (Veya ayda 3-5$ sorun degil diyorsan dogrudan bir VPS de kullanabilirsin. Ama program yazdigina gore elinin altinda zaten Linux var, degil mi?)
Digital oceon yeni kayıt olan kullanıcılar için 60 günlük 100$ veriyor. 60 gün dolunca harcamadığın kısmını geri alıyor.
Bir başka faydalı konu ise Github student pack. İnternette direkt “Github student pack” yazarak ulaşabilirsiniz. Kullanmak için “edu” uzantılı bir maille açtığınız github hesabını kullanmalısınız. İçinde birçok şey var ancak benim dikkatimi çeken şeyler var: 2 farklı firmadan ücretsiz domain( Uzantılar çok kalitesiz), Unity Pro version, Birkaç firmadan hosting için destek.
@aib Hocam Linux işletim sistemini hiç kullanmadım ve açıkcası herzaman windows’cu oldum. dediğiniz gibi yaptıgım işe gerekli ise öğreneceğim.
Peki Hocam windows server işletim sistemli bir vps alıp direk while döngüsündeki kodumu visual studio code ile çalıştırmam yeterli olmaz mı ? illa linux şart mı ?
Birde flask web arayüzümü aynı server üzerinden çalıştırabileceğimi mi söylediniz o konuyu tam anlayamadım.WSGI ile ilgili hiç bir bilgim yok onuda şimdi izleyerek ögrenmeye çalısacagım.
Fakat VSCode bir text editoru veya en iyi ihtimalle IDE. Kendisi hic bir sey calistiramaz, isi de degil.
Yani Windows’ta da nasil yapacagini bilmiyorsun ve ogrenmen lazim. Programlar yazacak, sunucular uzerinde calistiracaksan Windows ogrenmenin hic bir mantigi veya faydasi yok. Elbette mumkun ve hatta varligini boyle surduren sirketler ve sektorler var, fakat seni dogru yola yonlendirmek icin elimden geleni yapmazsam deneyimlli biri olarak deneyimsiz birine karsi sorumlulugumu yerine getirmemis olurum.
Veya dene aslinda. Bi Windows VPS alip Python kurmayi dene. Herhangi bir web sayfasini sunup internetten erismeyi dene. Bir seyi yapmanin yanlis yolunu ogrenmenin bir zarari yok. Hatta su anda faydali olur. Belki daha da hizli olur.
Bi de lokalin Windows ise orada calistirmayi yap once. Sonra VPS’e gecersin.