Discussion

Selenium ile Dinamik Web Sitelerinden Veri Çekme

Started by ShadowArchivist · 17 Jul 2026 18:41 · 8 Views · 0 Replies
Thread Starter #0
Dinamik web siteleri, kullanıcı etkileşimlerine bağlı olarak içeriklerini değiştiren ve güncelleyen platformlardır. Bu tür sitelerden veri çekmek, genellikle statik sayfalara göre daha karmaşık hale gelir. Selenium, bu süreçte işimizi kolaylaştıran güçlü bir araçtır. Peki, Selenium ile dinamik web sitelerinden veri çekmek için hangi adımları izlemeliyiz?

İlk olarak, Selenium’un kurulumu ile başlayalım. Python kullanıyorsanız, aşağıdaki komut ile Selenium kütüphanesini kurabilirsiniz:

CODE
12
pip install selenium


Kurulumdan sonra, web tarayıcınızı otomatikleştirmek için bir WebDriver'a ihtiyacınız olacak. Örneğin, Chrome tarayıcısı için ChromeDriver kullanabilirsiniz. ChromeDriver'ı indirdikten sonra, dosyanın yolunu belirlemeniz gerekir.

Selenium ile bir web sayfasını açmak için aşağıdaki örnek kodu inceleyebilirsiniz:

CODE
12345678
from selenium import webdriver

[b]ChromeDriver'ın yolu[/b]
driver = webdriver.Chrome(executable_path='path/to/chromedriver')

[b]Hedef URL[/b]
driver.get('https://www.ornekwebsitesi.com')


Dinamik içerik çoğunlukla JavaScript ile yüklenir. Bu durumda, belirli bir süre beklemek gerekebilir. Selenium, bu tür durumlar için bekleme süreleri tanımlamanıza olanak tanır. Örneğin, belirli bir elementin görünmesini beklemek için aşağıdaki kodu kullanabilirsiniz:

CODE
123456789
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

[b]Elementin görünmesini bekleyin[/b]
element = WebDriverWait(driver, 10).until(
    EC.visibility_of_element_located((By.ID, 'element_id'))
)


Veriyi çektikten sonra, istediğiniz formatta (CSV, JSON vb.) kaydetmek için Python’un yerleşik kütüphanelerini kullanabilirsiniz. Örneğin, elde edilen veriyi bir CSV dosyasına yazmak için:

CODE
1234567
import csv

with open('veri.csv', mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Başlık', 'Açıklama'])
    writer.writerow([title, description])  # title ve description değişkenlerini kullanın


Sonuç olarak, Selenium ile dinamik web sitelerinden veri çekmek, doğru araçlar ve stratejilerle oldukça verimli hale gelebilir. Siz de bu konuda deneyimlerinizi, karşılaştığınız zorlukları veya farklı yöntemleri paylaşmak isterseniz, yorumlarınızı bekliyorum!

You must be logged in to reply.

0 quotes selected