• Buradasın

    Python ile Instagram Bot Yazımı Eğitimi

    youtube.com/watch?v=b33wVCNHbi4

    Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan Python programlama dilini kullanarak Instagram otomasyonu yapımı hakkında kapsamlı bir eğitim içeriğidir.
    • Eğitim, Instagram üzerinden bot yazımı konusunu dört ana bölüme ayrılarak ele almaktadır: kullanıcı girişini yapma, takipçileri alma, takip etme/takip bırakma ve işlemlerin bir dosyaya kaydedilmesi. Eğitmen, Selenium kütüphanesini kullanarak Instagram'a otomatik giriş yapma, takipçileri alma, takip etme ve takipten çıkma işlemleri adım adım göstermektedir. Video yaklaşık 1,5 saat sürmektedir.
    • Eğitimde CSS selector ve XPath yöntemleri kullanılarak web sayfasındaki etiketlere erişim, sayfa yükleme bekleme süreleri, koşullu ifadeler ve döngülerin kullanımı gibi teknik konular da detaylı şekilde anlatılmaktadır. Ayrıca, Instagram'ın bot kontrolü nedeniyle engellenme riski olduğu ve doğru giriş yapıldığında sorun yaşanmayacağı belirtilmektedir.
    00:07Python ile Instagram Bot Yazımı Giriş
    • Bu ders, önceki derste GitHub üzerinden web otomasyonu gösterildikten sonra Instagram üzerinden bot yazımına devam ediyor.
    • Dersin sonunda Instagram'da kullanıcı girişini, otomatik takip, takip bırakma ve takipçi listesinin alınması gibi işlemleri yapabilecek bir bot oluşturulacak.
    • Program yaklaşık 150 kod satırından oluşacak ve ders yaklaşık 1,5 saat sürecektir.
    01:33Dersin Yapısı ve Hazırlık
    • Ders dört bölüme ayrılacak: kullanıcı girişini yapma, takipçileri alma, takip etme ve takip bırakma, işlemlerin dosyaya kaydedilmesi.
    • Programda Selenium Python kütüphanesi kullanılacak ve kullanıcı adı ile şifre bilgileri ayrı bir klasörden alınacak.
    • Programda zamanlama modülü de kullanılacak ve işlemler düzenli bir şekilde gerçekleştirilecek.
    04:04Kullanıcı Girişini Yapma
    • Programda bir "Instagram" sınıfı oluşturulacak ve yapıcı metodu için kullanıcı adı ve şifre parametreleri alınacak.
    • Chrome tarayıcısı kullanılarak otomasyon yapılacak ve misafir modunda Chrome açılarak kullanıcı bilgilerinin kaydedilmesi engellenecek.
    • Instagram'ın giriş sayfasına erişim sağlanacak ve bir süre bekletme yapılacak.
    07:32Kullanıcı Girişini Tamamlama
    • Kullanıcı girişini, şifre kutuları ve giriş butonuna erişim için HTML kodlarına bakılacak.
    • Kullanıcı adı ve şifre kutularına erişim için "find_element" metodu kullanılacak ve "name" özelliği ile kutular bulunacak.
    08:20Otomasyon Kodlaması ve Giriş İşlemi
    • Kullanıcı adı ve şifre değişkenlerine değerler atanıyor ve bu değerler elementlere gönderiliyor.
    • Giriş butonuna ulaşmak için CSS seçici kullanılıyor, ancak CSS kodları belirsiz olduğundan "type" özelliği kullanılarak butona ulaşılabiliyor.
    • Giriş butonuna tıklandıktan sonra "bilgileri kaydet" veya "şimdi değil" butonlarından birine tıklanması gerekiyor.
    12:44Bilgileri Kaydet Butonu İşlemi
    • "Şimdi değil" butonuna rol özelliği kullanılarak ulaşılabiliyor.
    • Bilgileri kaydet sayfasından geçildikten sonra bildirim paneli açılıyor ve bu paneli kapatmak için "şimdi değil" butonuna tıklanıyor.
    • Otomasyon kodlarında sayfa yüklenmesi için yeterli süre beklenmemesi durumunda hata alınabiliyor.
    17:38Takipçi Alma Fonksiyonu
    • Takipçi alma fonksiyonu oluşturuluyor ve parametre olarak kullanıcı adı alınıyor.
    • Profil adresi dinamik hale getiriliyor, böylece farklı kullanıcılar için otomatik olarak değişebiliyor.
    • Profil sayfasına giriş yapıldıktan sonra takipçi sayısı alınacak.
    19:06Instagram Otomasyonu İçin Giriş Yapma
    • Instagram hesabına giriş yaparken birden fazla giriş denemesi sonucu hesap duraklamış olabilir.
    • Farklı bir hesapla giriş yaparak Instagram otomasyonu için gerekli işlemlere devam edilebilir.
    • Giriş yapıldıktan sonra profil sayfasına giderek takipçiler listesine erişilebilir.
    20:28Takipçi Listesine Erişim
    • Takipçi listesine erişmek için CSS selector kullanılarak etiketlerden yararlanılabilir.
    • İlk olarak klas etiketine ulaşıp, ardından a etiketine tıklamak gerekiyor.
    • Takipçi listesinin açılmasını beklemek için programda bekleme süresi (örneğin 3 saniye) ayarlanabilir.
    22:43Takipçi Listesini Açma Sorunları
    • İlk denemede takipçi listesi açılmadı, farklı etiketler kullanılarak tekrar denenebilir.
    • U etiketinden ulaşılmaya çalışıldığı halde, sayfa geç yükleme sorunu nedeniyle hata alındı.
    • ULE etiketinden ulaşıldığında takipçi listesi başarıyla açıldı.
    24:55Takipçi Listesinin Yapısı
    • Instagram, takipçi listesinde varsayılan olarak ilk 12 takipçiyi gösterir.
    • Takipçi listesini aşağı kaydırıldığında, her seferinde 12 takipçi daha yüklenir.
    • Takipçi listesindeki kullanıcı adlarına erişmek için benzersiz etiketler kullanılır.
    27:31Takipçi Bilgilerini Çekme
    • Takipçi listesindeki kullanıcıları almak için "role" etiketi kullanılır çünkü bu etiket her zaman diyalog kutusunu gösterir.
    • Her kullanıcıyı temsil eden div etiketlerinden yararlanılarak kullanıcı adları alınıyor.
    • For döngüsü kullanılarak her kullanıcı için kullanıcı adı alınabilir ve ekrana yazdırılabilir.
    31:54Instagram Takipçilerini Almak
    • Program Instagram'a giriş yaparak ilk takipçileri alıp ekrana kullanıcı adlarını yazdırıyor.
    • Program ilk on iki takipçiyi başarıyla alıyor.
    • Scroll çubuğunu aşağı indirerek diğer takipçileri de almayı hedefliyor.
    32:47Fonksiyon Oluşturma
    • Tüm takipçileri almak için yeni bir fonksiyon oluşturuluyor.
    • Takipçi listesine erişim için "follow_list" adında bir değişken oluşturuluyor.
    • Takipçi sayısını öğrenmek için "len" metodunu kullanarak kullanıcı adetini ekrana yazdırıyor.
    37:13Scroll Çubuğunu İndirme
    • Scroll çubuğuna doğrudan erişim mümkün olmadığı için yapay zeka aracılığıyla çözüm aranıyor.
    • Yapay zeka, "driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')" kodunu öneriyor.
    • Scroll çubuğunu aşağı indirmek için for döngüsü kullanılıyor ve her indirme sonrası bir saniye bekletme yapılıyor.
    39:54Takipçi Sayısını Kontrol Etme
    • Scroll çubuğu indirildikten sonra yeni takipçi sayısını kontrol etmek için "new_count" değişkeni oluşturuluyor.
    • İlk ve yeni takipçi sayıları karşılaştırılıyor, eşit değilse döngü devam ediyor.
    • Takipçi sayısı eşitlenene kadar döngü devam ediyor ve sonunda tüm takipçiler ekrana yazdırılıyor.
    43:49Programlama Hatalarının Düzeltilmesi
    • Programlama yaparken koşul bloklarının hizası çok önemlidir, hangi kodun hangi tarafta yazıldığı programın doğru çalışması için kritiktir.
    • Program düzeltildikten sonra sorunsuz bir şekilde çalışmaktadır.
    • Program, takipçi listesini alarak tüm takipçilerin ismini yazdırabilmektedir.
    44:44Takipçi Sayısı ve Program Performansı
    • Program, takipçi sayısına göre çalışmayı tamamlamakta zaman alabilmektedir.
    • 15 bin takipçi almak için program yaklaşık 4-5 saat sürebilir.
    • Programda bekleme süreleri olduğundan yavaş çalışmakta, bu süreler azaltılsa daha hızlı çalışacaktır.
    45:29Otomatik Takip Fonksiyonunun Oluşturulması
    • "takip_et" adında yeni bir fonksiyon oluşturulmaktadır.
    • Bu fonksiyona "self" parametresi ve "follow_name" (takip edilecek kullanıcı adı) parametresi gönderilmesi gerekmektedir.
    • Fonksiyonun ilk adımında takip edilecek kullanıcı adının internet sayfasına gidilmektedir.
    46:17Takip Butonuna Erişim
    • Takip etmek için kullanıcı adının sayfasına gidilip, takip et butonuna erişilmektedir.
    • Butonun class'ı kullanılarak erişim sağlanmaktadır.
    • Butonun text'i kontrol edilerek "takip et" yazısının varlığına bakılmaktadır.
    48:39Takip İşleminin Otomasyonu
    • Program, takip edilecek kullanıcı adının sayfasına gidip, takip et butonuna tıklamaktadır.
    • Sayfa yüklenmesi için bekleme süreleri (time.sleep) eklenmektedir.
    • Program, takip edilen bir hesaba tekrar takip etmeye çalıştığında "zaten takiptesin" mesajı vermektedir.
    51:21Koşullu Takip İşlemi
    • Takip işlemi için koşul bloğu kullanılarak, eğer buton üzerinde "takiptesin" yazıyorsa takip etmeye çalışılmamaktadır.
    • Eğer "takiptesin" değilse, yani "takip et" yazıyorsa butona tıklanarak takip işlemi gerçekleştirilmektedir.
    • Program, takip edilmeyen hesaplara otomatik olarak takip etme işlemini gerçekleştirmektedir.
    53:57Programın Kullanım Alanları
    • Bu program, belirli bir kullanıcı adı yerine bir liste verilerek birden fazla hesaba takip etme işlemi yapılabilir.
    • Google'da satılan bot sayfalarının arka tarafta çalışan kodunun temelinde bu tür programlar bulunmaktadır.
    • Python öğrenerek bu işi daha profesyonel şekilde yapmak mümkündür.
    55:24Instagram'da Takipten Çıkma İşlemi
    • Takipten çıkmak için öncelikle kişinin internet sayfasına gidip adresini kopyalamak gerekiyor.
    • Takipten çıkmak için "Takiptesin" butonuna tıklanmalı, ardından "Takibi Bırak" butonuna tıklanmalıdır.
    • "Takiptesin" butonuna tıkladıktan sonra "Takip et" değilse, "Takiptesin" butonuna tıklanabilir.
    56:09Kodlama İşlemi
    • "Takiptesin" butonunun CSS seçörünü alarak ve self.driver.find_element kullanarak butona erişim sağlanabilir.
    • Butona tıklamak için time.sleep ile 2 saniye bekleme yapılarak takibi bırak sayfası açılır.
    • Takibi bırak butonuna erişmek için XPATH yöntemi kullanılabilir, Chrome'un sunduğu "Copy XPath" özelliği ile butonun XPath'i alınabilir.
    59:33Programın Çalıştırılması
    • Program çalıştırıldığında kullanıcı girişi yapıldıktan sonra Hacettepe Üniversitesi'ne gidilir.
    • Takipten çıkmak için "Takiptesin" butonuna basılır ve takibi bırak butonuna erişilir.
    • Bu yöntemle bir liste oluşturarak for döngüsü içinde binlerce takipçiyi de bırakmak mümkündür.
    1:02:39Instagram Takipçi Kaydet Fonksiyonu
    • Yeni bir fonksiyon oluşturuluyor: "takipçi_kaydet".
    • Mevcut fonksiyondan tüm takipçileri almak için kod tekrar ediliyor.
    • Takipçi isimleri "over_list" adında bir liste üzerine ekleniyor.
    1:03:54Dosyaya Kaydetme İşlemi
    • "kullanıcı_adları" adında bir dosya "w" modunda (yeni verileri yazmak için) açılıyor.
    • Dosyaya Türkçe karakter desteği için "encoding=utf-8" kullanılıyor.
    • Her takipçi ismi dosyaya alt alta yazdırılıyor.
    1:05:55Programın Çalıştırılması
    • Program çalıştırıldığında önceki işlemin aynısını yaparak tüm takipçileri alıyor.
    • Takipçi sayısı artıyor ve tüm takipçiler dosyaya kaydediliyor.
    • Program sonunda driver kapatılıyor.
    1:08:02Sonuç ve Kapanış
    • Temel Selenium komutlarıyla Instagram için bir kod yazıldı.
    • Bu kod sayesinde Instagram'da bot oluşturmak mümkün.
    • Video beğenilirse bir sonraki video Twitter için Selenium botu olabilir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor