Bir web sayfasından veri çekmek istiyorum. ancak sitedeki bazı veriler 15-20 sn gecikmeli geliyor, webservis ile beslendikleri için. Aşağıdaki gibi bir python kodum var ancak 20 sn beklemesini sağlayamıyorum. Yardımcı olabilecek var mıdır?

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

def login():
driver = webdriver.PhantomJS()
driver.get("login_sayfasıi")
driver.find_element_by_id('UserName').send_keys("username")
driver.find_element_by_id('Password').send_keys("password")
driver.find_element_by_id('btnLogin').click()


# veri çekilecek sayfaya git
driver.get("veri_çekilecek_web_adresi")

driver.wait = WebDriverWait(driver, 20)

#belirli bir datayı çek
adet = driver.find_element_by_id('toplamSatışAdedi').text
üretim = driver.find_element_by_id('toplamSatışTutari').text
print(adet)
print(üretim)


if __name__ == "__main__":
login()

 

(bkz: curl)

goodz

20 sn beklemek gerektiğinden emin misin? bazılarında cookie header falan alıp baştan post yapınca geliyor yada ardı ardına bikaç post yapman gerekiyor.

bide postman denedin mi

ipmus90

curl ile çekemezsin. yazılımcı değilim ama ajax'la falan daha sonradan çekilen verilere ulaşamıyor curl. phantomjs'ye bakmanı öneririm.

slhmlr

@ipmus90 evet ortalama 20 saniye sonra data geliyor buna eminim çünkü yukarıdaki kodu çalıştırdığımda data genelde gelirken bazen gelmiyor. postman'i veya curl'u nasıl kullanırım bilmiyorum. bilale anlatır gibi anlatsanız daha iyi olur:)

hlt1985

kardeş veriyi çekmen için sayaç varsa server tarafında da sayaç olması gerekiyor ve linkin beli olması gerekiyor. link belli değilse soket bağlantısı açık kalmalı ve link soket bağlantısından gönderilmeli. Google chrome ögeyi incele yapıp network seçip nasıl bi bağlantı kuruluyor link nasıl geliyor bi test etmeni tavsiye ederim önce. python ve curl ile yapılabilir tabikide.

ipmus90

Geçenlerde veri defterinde şuna denk gelmiştim. Tarayıcıya bekleme koymak bölümünde aradığını bulabilirsin sanırım

www.veridefteri.com


selenium-python.readthedocs.io

bagcivan
1

mobil görünümden çık