Selenium ile Sayfa Kaynağı Alma
Web otomasyonu ve veri kazıma projelerinde, sayfa içeriğine erişmek ve analiz etmek oldukça yaygın bir ihtiyaç haline geldi. Selenium, bu noktada güçlü ve esnek bir araç olarak öne çıkar. Ancak, çoğu zaman sayfa kaynağını elde etmek veya sayfa üzerinde dinamik olarak yüklenen içerikleri görmek gerekebilir. İşte bu noktada, Selenium'un temel fonksiyonları ve sayfa kaynağı alma yöntemi detaylarıyla ele alınmalı.
İlk olarak, Selenium’un
driver.page_source özelliği, yüklenmiş olan sayfanın güncel HTML içeriğini döner. Bu, sayfa üzerinde JavaScript ile dinamik olarak değiştirilmiş veya yüklenmiş içerikleri de kapsar. Dolayısıyla, sayfa kaynak kodunu almak için, sayfayı tam anlamıyla yükledikten sonra
driver.page_source kullanmak en doğru yaklaşımdır.
Örneğin, Python ve Selenium kullanarak sayfa kaynağı alma işlemi şu şekilde gerçekleştirilir:
123456789101112131415161718
from selenium import webdriver
[b]WebDriver'ı başlat[/b]
driver = webdriver.Chrome()
[b]Hedef sayfayı yükle[/b]
driver.get('https://ornekwebsitesi.com')
[b]Sayfa kaynağını al[/b]
sayfa_kaynak = driver.page_source
[b]Kaynak kodunu dosyaya yazdırmak veya analiz etmek[/b]
with open('sayfa_kaynagi.html', 'w', encoding='utf-8') as dosya:
dosya.write(sayfa_kaynak)
[b]Tarayıcıyı kapat[/b]
driver.quit()
Buradaki kritik nokta,
driver.page_source'un, sayfa tamamen yüklendiğinde ve JavaScript işlemleri tamamlandığında kullanılmasıdır. Ayrıca, sayfa içeriğinin tam olarak hazır hale gelmesini sağlamak için
WebDriverWait ve
expected_conditions gibi Selenium'un bekleme fonksiyonlarını kullanmak gerekebilir.
Sonuç olarak, Selenium ile sayfa kaynağı almak, sadece HTML kodunu değil, aynı zamanda sayfada dinamik olarak yüklenmiş içerikleri de yakalamaya imkan verir. Bu özellik, özellikle modern web sitelerinde veri kazıma ve otomasyon projelerinde vazgeçilmez hale gelmiştir.
İşte bu yöntemi kullanırken, sayfa yüklenme durumunu ve JavaScript sonuçlarını dikkate almak, projelerin doğruluğu ve verimliliği açısından kritik öneme sahiptir.