[]
python web sitesinden veri çekmek
Bir web sayfası var veri çekmek istediğim. ama öncesinde login sayfasından login olmak gerekiyor. buraya kadar bir sorun yok. python ile login olup, sayfa kaynağını çekebiliyorum. Ancak sayfada birden fazla ile ajax ile data güncelleniyor. Ben sayfa kaynağını aldığımda bu datalar gelmemiş oluyor. Sayfa tamamen yüklenene kadar nasıl bekleyebilirim ki response'da tüm sayfa olsun?
python ile olmaz o iş, çünkü veriler Javascript ile yükleniyor. Senin yaptığın istekte javascriptler çalışmayacağı için o veriler yüklenmemiş olacak.
- talasas (31.05.19 14:33:16)
seleniuma bir göz atabilirsin.
- iamnotarobot (31.05.19 15:10:48)
timer thread interval ile yapabilirsin www.geeksforgeeks.org
bu thread belli bir milisaniyede bir fonksiyon calistirir, ornegin 100 milisaniyede bir. bir fonksiyon yazarsin, bu fonksiyon da sayfa uzerindeki gerekli veriyi cekmeye calisir. veri orada degilse birsey yapmaz, ve thread 100 milisaniye sonra yine ayni fonksiyonu calistiracaktir. yine hala yuklenmediyse bir 100 milisaniye sonra tekrar calistiracaktir. bu veri yukleninceye kadar bu sekilde gider, yuklenince fonksiyon veriyi ceker ve timer intervali sonlandrirsin. ama bir tarafdan da sunu eklemen lazim veri hic yuklenmeyebilir de, o zaman sonsuza kadar interval calismasi durumu olur. o durum icin de ekstra timeout eklemen gerekli, yani yuklenmese de 10 saniye sonra herseyi sonlandir gibi.
bu thread belli bir milisaniyede bir fonksiyon calistirir, ornegin 100 milisaniyede bir. bir fonksiyon yazarsin, bu fonksiyon da sayfa uzerindeki gerekli veriyi cekmeye calisir. veri orada degilse birsey yapmaz, ve thread 100 milisaniye sonra yine ayni fonksiyonu calistiracaktir. yine hala yuklenmediyse bir 100 milisaniye sonra tekrar calistiracaktir. bu veri yukleninceye kadar bu sekilde gider, yuklenince fonksiyon veriyi ceker ve timer intervali sonlandrirsin. ama bir tarafdan da sunu eklemen lazim veri hic yuklenmeyebilir de, o zaman sonsuza kadar interval calismasi durumu olur. o durum icin de ekstra timeout eklemen gerekli, yani yuklenmese de 10 saniye sonra herseyi sonlandir gibi.
- emrahday (31.05.19 15:13:33 ~ 15:15:02)
selenium kütüphanesinde wait diye bir komut vardı diye hatırlıyorum. dolmasını bekledikten sonra çekebilirsin sanırım.
- ilkot (31.05.19 15:34:21)
phantomjs kullan.
- slhmlr (31.05.19 21:07:36)
1