0 oy
Python kategorisinde (160 puan) tarafından soruldu

Merhaba Arkadaşlar,

 

Bir tane websitesi düşünün, forum gibi bir şey olsun. Sunucuda 5 adet komut çalıştıracağız. Şimdilik bu komutu aşağıda print("Komut çalıştı") şeklinde ifade edelim. 

Aşağıdaki kodda soup.find_all("div",{"class":"wiki"})[-1]

komutu get_page() fonksiyonundaki linke bağlanıp en son kullanıcı girdisini alıyor (Committed the patches. Thank you for your contribution). Burada kullanıcı, programı çalıştıran kişi değil, foruma yorum ekleyen kişi.

İstediğim şey, program siteye bağlı kalsın ve kullanıcı bu yorumu her eklediğinde yeni bir komut çalıştırsın. Bu işlem 5 kez tekrarlandığında program sonlandırılsın.

 


 
    import requests
    from bs4 import BeautifulSoup
     
    def get_page():
        url =  "https://www.redmine.org/issues/31110"
     
        response =  requests.get(url)
     
        html_icerigi = response.content
        global soup
        soup =  BeautifulSoup(html_icerigi,"html.parser")
    say=0
    while True:
        get_page()
        if say <= 4:
            for i in soup.find_all("div",{"class":"wiki"})[-1]:
                print(i.text)
                print("komut çalıştı")
     
        else:
            print("program sonlandırıldı.")
            break
        say += 1

 

Yukarıdaki kod, 5 defa "komut çalıştı" sonucunu basıp programı sonlandırıyor. Oysa ki, URL'ye yeni yorum eklendiğinde bir sonraki işlem için beklemeli.

 

    "C:\Program Files (x86)\Python37-32\python.exe" C:/Users/Asus/PycharmProjects/web_redime_deneme.py
    Committed the patches. Thank you for your contribution.
    komut çalıştı
    Committed the patches. Thank you for your contribution.
    komut çalıştı
    Committed the patches. Thank you for your contribution.
    komut çalıştı
    Committed the patches. Thank you for your contribution.
    komut çalıştı
    Committed the patches. Thank you for your contribution.
    komut çalıştı
    program sonlandırıldı.
     
    Process finished with exit code 0

 

İyi ifade edebildim mi bilemiyorum, umarım anlatabilmişimdir. Şimdiden teşekkür ederim yardımlarınız için.

Bu soruya cevap vermek için lütfen giriş yapınız veya kayıt olunuz.

Yazılım Biliminin Soru Cevap Platformuna hepiniz hoşgeldiniz. Bu platformda kurallara uyarak diğer geliştiricilerle yardımlaşabilirsiniz.
...