Selenium Kütüphanesi Nedir? Nasıl Kullanılır?

Python programlama dili günümüzde birçok alanda kullanılmakta. Popüleritesi günden güne artan programlama dilinin kullanım alanlarından biri de Web Scraping (Veri Kazıma). Web Scraping için popüler 5 Python kütüphanesi yazımızda da bahsettiğimiz gibi bazı Python kütüphaneleri bu işi bizler için oldukça kolaylaştırmakta. Bu yazımızda ise yine o listede yer alan Selenium kütüphanesi nedir konusunu inceleyeceğiz.

Veri Kazıma (Web Scraping)Nedir?

Adından da anlaşılacağı gibi veri kazıma, web sitelerinden veri çıkarmak için kullanılan bir tekniktir. Bir uygulamanın, Web sayfasını başka bir biçime dönüştürmek, daha sonra analiz etmek için yerel bir veritabanına veya elektronik tabloya kopyalamak gibi, manipülasyon için verileri ayıklamak üzere bir Web sayfasının, HTML’ ini işlediği otomatik bir işlemdir.

Web Scraping Kullanım Alanları:

  • Veri Madenciliği
  • Online Fiyat İzleme ve Fiyat Karşılaştırma
  • Contact Scraping
  • Araştırmalar
  • Web Sitesi Değişikliği Tespiti

Selenium Nedir?

Selenium, Web uygulamalarının testini otomatikleştirmek için kullanılan açık kaynaklı, esnek yapıya sahip olan bir kütüphanedir. Selenium test komut dosyaları Java, Python, C# ve daha pek çok farklı programlama dillerinde yazılabilir. Bu test komut dosyaları Chrome, Safari, Firefox, Opera gibi çeşitli tarayıcılarda çalışabilir ve ayrıca Windows, Mac OS, Linux, Solaris gibi çeşitli platformları da destekler.

Selenium ana olarak, test amaçlı web uygulamalarını otomatikleştirmek içindir, ancak kesinlikle bununla sınırlı değildir. Seçtiğiniz bir tarayıcıyı açmanıza ve bir insanın yapacağı gibi görevleri gerçekleştirmenize olanak tanır. Örneğin:

  • Butonlara tıklama
  • Formlara girme
  • Web sayfalarda belirli bilgileri arama
  • Gerekli verileri çekme

Şunu unutmamak gerekir ki Selenium gibi kütüphaneler ile veri kazıma, çoğu sitenin hizmet şartlarına aykırı bir davranıştır. Çok sık veya kötü niyetli şekilde veri çekerseniz, IP adresiniz o web sayfasından yasaklanabilir.

Selenium Araçları Nedir?

Selenium IDE

Selenium IDE (Entegre Geliştirme Ortamı) bir Firefox eklentisidir. Selenium Suite’teki en basit çerçevelerden biridir. Komut dosyalarını kaydetmemizi ve oynatmamızı sağlar. Selenium IDE’yi kullanarak komut dosyaları oluşturmak, daha gelişmiş ve sağlam test senaryoları yazmak istiyorsanız Selenium RC veya Selenium WebDriver kullanmanız gerekir.

Selenium RC

Selenium 1 olarak da bilinen Selenium RC, daha öncelerde ana Selenium projesiydi. Otomasyon için esas olarak JavaScript’e dayanan Selenium RC, Ruby, PHP, Python, Perl, C#, Java ve JavaScript’i destekler. Ayrıca Selenium RC hemen hemen her tarayıcıyı da destekler. Günümüzde ise Selenium RC resmi olarak kullanımdan kaldırılmıştır.

Selenium WebDriver

Selenium WebDriver, komutları kabul eden ve bunları bir tarayıcıya gönderen bir tarayıcı otomasyon çerçevesidir. Tarayıcıya özgü bir sürücü aracılığıyla uygulanır. Doğrudan tarayıcıyla iletişim kurar ve onu kontrol eder. Selenium WebDriver, Java, C#, PHP, Perl ve JavaScript gibi çeşitli programlama dillerini destekler.

Selenium Grid

Selenium Grid, Selenium RC ile birlikte kullanılan bir araçtır. Farklı makinelerde, farklı tarayıcılara paralel olarak testler yapmak için kullanılır.

Selenium Kurulumu

Selenium’u bilgisayarınıza yüklemek için ilk yapmanız gereken aşağıdaki komut satırını terminalinize girmektir.

pip install selenium

Çoğu Python kütüphanesi gibi, Selenium’da yükleme işlemi bununla bitmemektedir. Eğer WebDriver’ı kullanmak istiyorsanız buradaki linkten tarayacınıza göre bir WebDriver seçip yüklemeniz gerekmektedir.

WebDriver’ı indirdikten sonra eğer /usr/local/bin yani PATH klasörünüze atmazsanız bu konumu el ile PATH’inize eklemeniz gerekmektedir. Bunun içinse yapmanız gereken:

  • Başlat’a “Sistem ortam değişkenlerini düzenleyin” yazın.
selenium-nedir-kurulum-1
  • “Gelişmiş” kısmından “Ortam Değişkenleri” butonuna tıklayın.
selenium-nedir-kurulum-2
  • “Path” kısmını seçip düzenle butonuna basın.
kurulum-3
  • “Yeni” diyip WebDriver’ınız olduğu klasörü buraya ekleyin ve “Tamam” butonuna basın.
kurulum-4

Bu aşamalardan sonra kurulum kısmımız tamamlandı. Şimdi Selenium ile veri çekmeye başlayabiliriz.

Selenium ile Veri Çekme

Bu yazımızda basit bir şekilde Selenium ile Web Scraping yazımızın başlığını çekeceğiz. Selenium ile veri çekerken ilk yapmamız gereken her kütüphanede olduğu gibi importlarımızı yapmak.

from selenium import webdriver

Ardından eğer tarayıcınız Google Chrome ise webdriver.Chrome() fonksiyonu ile tarayıcı sürücümüzü oluşturuyoruz.

driver = webdriver.Chrome()
driver.get("https://teknoloji.org/web-scraping-icin-5-populer-python-kutuphanesi/") # İstediğimiz sayfanın url'sini buraya giriyoruz

driver.get() ile istediğimiz url’yi tarayıcımızda açıyoruz.

element = driver.find_element_by_class_name("entry-title").text
print(text)
## Çıktı
'Web Scraping İçin 5 Popüler Python Kütüphanesi'

Yukarıda driver.find_element_by_class_name() metodu ile sayfada “entry-title” class adına sahip olan elemanı alıyoruz ki bu da bizim başlığımız oluyor. Ardından bu elemanın “text” alt niteliği ile başlığımızı print ediyoruz.

Yukarıdaki örnek her ne kadar basit olsa da Selenium ile ilgili daha detaylı bilgiler edinmek isterseniz Selenium’un Python için olan dokümantasyonunu inceleyebilirsiniz.

Teknoloji'den geri kalmamak için e-posta listemize abone olun!

Özgür Doğan (Okunuşu: Özgür Do:an) : Teknoloji içerikleri yazmayı ve okumayı seven kişi, kimse, topluluk.