Debate

Python ile Infinite Scroll Sayfalarını Scrape Etme

Iniciado por APIHunter · 21 jul 2026 18:51 · 3 Visitas · 0 Respuestas
Autor del tema #0
Infinite scroll, kullanıcıların sayfayı aşağı kaydırdıkça yeni içeriklerin yüklenmesini sağlayan bir tekniktir. Bu, özellikle veri toplama amacıyla yapılan scraping işlemlerini zorlaştırabilir. Ancak, Python ve bazı kütüphaneler kullanarak bu tür sayfalardan veri çekmek mümkündür. İşte bu süreci nasıl gerçekleştirebileceğinizi açıklayan bir rehber.

İlk olarak, Selenium kütüphanesini kullanarak tarayıcı otomasyonu sağlayabiliriz. Selenium, JavaScript ile dinamik olarak oluşturulan içerikleri çekmemizi mümkün kılar. Öncelikle, aşağıdaki gibi gerekli kütüphaneleri yüklememiz gerekiyor:

CODE
123
pip install selenium
pip install webdriver-manager


Daha sonra, web sayfasını açıp sayfanın en altına kadar kaydırarak verileri alacağız. Aşağıda, bir örnek kod parçası verilmiştir:

CODE
12345678910111213141516171819202122232425262728293031323334353637383940
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time

[b]Tarayıcıyı başlat[/b]
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

[b]Hedef URL[/b]
url = 'https://ornek-infinite-scroll-sayfasi.com'
driver.get(url)

[b]Sayfayı kaydırma işlemi[/b]
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Sayfanın en altına kaydır
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Yeni içeriğin yüklenmesi için bekle
    time.sleep(2)

    # Yeni yüklenmiş olan yükseklik
    new_height = driver.execute_script("return document.body.scrollHeight")

    # Eğer yeni yükseklik eski yükseklikten farklı değilse, çık
    if new_height == last_height:
        break
    last_height = new_height

[b]Verileri çekme[/b]
elements = driver.find_elements(By.CLASS_NAME, 'veri-class')
for element in elements:
    print(element.text)

[b]Tarayıcıyı kapat[/b]
driver.quit()


Bu kod, belirtilen URL'ye gider, sayfayı altına kadar kaydırır ve daha sonra içeriği toplar. Dikkat edilmesi gereken noktalar şunlardır:

  1. Bekleme Süresi: Sayfa yüklenirken yeterli bekleme süresi verilmesi önemlidir. Bu süre, internet hızınıza bağlı olarak değişebilir.
  2. Element Seçimi: Verileri çekerken doğru element sınıfını kullanmak gereklidir. Hedef sayfanın HTML yapısına göre bu sınıf değişebilir.

Sonuç olarak, bu yöntemle infinite scroll sayfalarından verileri etkin bir şekilde toplayabilirsiniz. Peki, siz bu yöntemi daha önce denediniz mi? Hangi zorluklarla karşılaştınız? Deneyimlerinizi paylaşmanızı bekliyorum.

Debes haber iniciado sesión para responder.

0 citas seleccionadas