• 07-08-2020, 01:35:49
    #1
    Platin üye
    Amacım her 10 döngüde bir mola vermesi ve sayfayı yenileyip followers tıklayarak döngüye tekrar başlaması. Ama sayfa yenilendikten ve takipçiler tıkladıktan sonra hata veriyor anlamadığım şekilde. Sebebi ne olabilir? Yada nasıl bi döngü yazabilirim ?



    browser.get("https://www.instagram.com/" + "iremderici")
    time.sleep(3)
    followers=browser.find_element_by_tag_name('a')
    followers.click()
    time.sleep(3)
    button=browser.find_elements_by_css_selector("butt on.sqdOP.L3NKy.y3zKF")

    sayac = 0
    sayac2 = 0
    sure = random.randint(5, 10)

    takipsayac = 0

    toplam = 0

    print("Takip işlemi başladı...")

    while toplam<200:
    while takipsayac<=9:
    button1 = button[sayac2]
    button1.click()
    time.sleep(3)
    sayac += 1
    sayac2 += 1
    print(sayac, "kişi takip edildi")
    toplam += 1
    time.sleep(100)
    print("Mola bitti başlanıyor")
    browser.get("https://www.instagram.com/" + "iremderici")
    followers.click()
  • 07-08-2020, 02:19:27
    #2
    Aldığınız hatayı yazarsanız yardımcı olmaya çalışırım. Ama yerinizde olsam takipçileri listeye yazdırır ordan takip ettirirdim.
  • 07-08-2020, 02:28:39
    #3
    Platin üye
    ethmtrgt adlı üyeden alıntı: mesajı görüntüle
    Aldığınız hatayı yazarsanız yardımcı olmaya çalışırım. Ama yerinizde olsam takipçileri listeye yazdırır ordan takip ettirirdim.
    Teker teker sayfalarına gidip takip etmek mı hocam kastettiğimiz?
  • 07-08-2020, 02:36:01
    #4
    Aynen. "instagram.com/" + username şeklinde. Tek tek ziyaret etmesi biraz yavaşlatır ama çok fazla işlem yapılmayacağı için problem olmaz diye düşünüyorum.
  • 07-08-2020, 02:38:55
    #5
    Platin üye
    ethmtrgt adlı üyeden alıntı: mesajı görüntüle
    Aynen. "instagram.com/" + username şeklinde. Tek tek ziyaret etmesi biraz yavaşlatır ama çok fazla işlem yapılmayacağı için problem olmaz diye düşünüyorum.
    Gunde 300 kişiye kadar olursa hocam ?
  • 07-08-2020, 02:40:42
    #6
    Hiç problem olmaz
  • 07-08-2020, 03:08:11
    #7
    1. time.sleep yazarak yazdığınız bot bir yere kadar işler yüksek sayılı hesaplarda proxy kullanman gerekir proxy'nin hızı ile time.sleep'teki süre aynı orantıda olması gerekir. Bunu çözmek için wait, until kullanımını araştırman yeterli olacak aşırı fazla kaynak var.
    2. instagram gibi firmalar yeni teknolojiler kullanıyorlar ve class, id benzeri tanımlayıcılar bir süre sonrasında değişiyor. Zaten farkettiysen isimler hep rastgele verilmiş bir şekilde. Bunu çözmek için sayfa içerisinde hedeflediğin nesnelerin tanımsız özelliklerini bulmalısın yok ise css selector kullanarak hedefine özel tanımsız bir yol belirlemelisin.

    Ek olarak kullandığın methodları fonksiyonlara bölerek yaparsan senin için daha faydalı olacaktır. Örn . HedefKisiProfilineGit() - driver.get(hedef) tarzında.

    Senin sorununa en kısa fikrimi söylemek gerekirse en son kullandığın driver.get komutunun bitmesi beklenmeden (bahsettiğim wait, until olayı) butona basmasından dolayı olabilir.

    Farklı bir problemin veya sorun olursa bana yazabilirsin, proje ihtiyacın var ise de örnek sağlayabilirim.
    İyi forumlar.
  • 07-08-2020, 03:26:53
    #8
    Platin üye
    okinelog adlı üyeden alıntı: mesajı görüntüle
    1. time.sleep yazarak yazdığınız bot bir yere kadar işler yüksek sayılı hesaplarda proxy kullanman gerekir proxy'nin hızı ile time.sleep'teki süre aynı orantıda olması gerekir. Bunu çözmek için wait, until kullanımını araştırman yeterli olacak aşırı fazla kaynak var.
    2. instagram gibi firmalar yeni teknolojiler kullanıyorlar ve class, id benzeri tanımlayıcılar bir süre sonrasında değişiyor. Zaten farkettiysen isimler hep rastgele verilmiş bir şekilde. Bunu çözmek için sayfa içerisinde hedeflediğin nesnelerin tanımsız özelliklerini bulmalısın yok ise css selector kullanarak hedefine özel tanımsız bir yol belirlemelisin.

    Ek olarak kullandığın methodları fonksiyonlara bölerek yaparsan senin için daha faydalı olacaktır. Örn . HedefKisiProfilineGit() - driver.get(hedef) tarzında.

    Senin sorununa en kısa fikrimi söylemek gerekirse en son kullandığın driver.get komutunun bitmesi beklenmeden (bahsettiğim wait, until olayı) butona basmasından dolayı olabilir.

    Farklı bir problemin veya sorun olursa bana yazabilirsin, proje ihtiyacın var ise de örnek sağlayabilirim.
    İyi forumlar.
    Teşekkürler hocam. Şu proxy meselesini hiç bilmiyorum nasıl bilgi edinebilirim ?
  • 07-08-2020, 03:31:54
    #9
    Skaylet adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam. Şu proxy meselesini hiç bilmiyorum nasıl bilgi edinebilirim ?
    Proxy konusunda çok fazla teknik bilgiye sahip değilim fakat açıklamak gerekir ise şu şekilde açıklayabilirim size;
    Alıntı
    Proxyler sizin dışarıya çıkan ip'nizi değiştirir böylece farklı bir kişiymiş gibi bir algı yaratırsınız hedef sitede. Instagram gibi platformlar daha doğrusu günümüzde çoğu sitede olduğu üzere bir ipden kaç saniyede bir işlem yaptığınızı veya kaç tane işlem yaptığınızı limitler. Eğer siz 1 ip üzerinden 100 hesaba hızlı bir şekilde giriş yapıp belli bir işlem yaptırırsan seni bot olarak algılar bu da senin istemediğin bir durum olacaktır Bu yüzden proxy kullanmayı tercih ederiz dışarıya çıkan ipmizi değiştirerek farklı bir kişi olarak işlemlere devam ederiz.
    Ek olarak genelde biz birden fazla proxy hatta binlerce proxy kullanarak işlem yaparız her hesap başına 1 proxy gibi.

    Proxy konusunda daha detaylı teknik bilgiye sahip arkadaşlar detay verebilirlerse daha açıklayıcı olabilir.