Hoşgeldin Misafir

Python ile Web Scraping 2025 BeautifulSoup ve Selenium Uygulamalı Rehber

Graves

Graves

Karanlık Özgürlüktür
Moderator
9 Eki 2024
10,450 Mesaj
TIM Görevleri
2

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Python ile Web Scraping 2025 BeautifulSoup ve Selenium Uygulamalı Rehber

Merhabalar Ben @Phobos Lojistik grup adına paylaşılan Python ile Web Scraping 2025 BeautifulSoup ve Selenium Uygulamalı Rehber makalesinde sizi görmekten mutluyum.
Web scraping, internet üzerindeki web sitelerinden otomatik olarak veri çekme işlemidir. Python dili, bu amaçla sıklıkla tercih edilir çünkü açık kaynaklı ve güçlü kütüphanelere sahiptir. Bu makalede, BeautifulSoup ve Selenium kullanarak web scraping işlemlerinin nasıl yapılacağını hem teorik hem de uygulamalı olarak ele alacağız.



Web Scraping Nedir?

Web scraping, bir web sayfasının HTML yapısını analiz ederek metin, bağlantı, görsel, fiyat gibi verilerin programatik olarak alınmasıdır. Aşağıdaki durumlarda kullanılabilir
  • Ürün fiyatlarını çekmek
  • Haber başlıklarını toplamak
  • İçerik arşivlemek
  • Akademik araştırmalarda veri seti oluşturmak

Kullanılacak Araçlar

BeautifulSoup

HTML ve XML belgelerini ayrıştırmak için kullanılır. Hızlıdır ve statik sayfalar için idealdir.

Selenium

JavaScript ile dinamik olarak yüklenen içerikleri işleyebilir. Tarayıcı otomasyonu sağlar. Etkileşimli sayfalarda tercih edilir.


BeautifulSoup ile Temel Web Scraping

Kod:
pip install requests beautifulsoup4

Örnek Uygulama: Bir Blog Sayfasından Başlıkları Alma

Kod:
import requests
from bs4 import BeautifulSoup

url = 'https://example-blog.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

titles = soup.find_all('h2', class_='post-title')
for title in titles:
print(title.get_text(strip=True))
  • requests modülü sayfa içeriğini alır.
  • BeautifulSoup ile HTML analiz edilir.
  • find_all() fonksiyonu belirli etiketleri seçer.

Selenium ile Dinamik Web Scraping

Kod:
pip install selenium

Ayrıca, kullandığınız tarayıcıya uygun WebDriver indirilmelidir (örneğin Chrome için chromedriver).

Örnek Uygulama: JavaScript ile Yüklenen Ürün Listesi

Kod:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://example-ecommerce.com/products")

time.sleep(3)  # Sayfanın yüklenmesini beklemek

products = driver.find_elements(By.CLASS_NAME, "product-title")
for product in products:
print(product.text)

driver.quit()
  • Tarayıcı başlatılır ve hedef sayfa açılır.
  • find_elements ile çoklu veri çekilir.
  • sleep yerine WebDriverWait kullanmak daha sağlıklıdır.

Hangi Aracı Ne Zaman Kullanmalıyım?


DurumAraç
Statik HTML sayfaBeautifulSoup
JavaScript ile yüklenen içeriklerSelenium
Sayfada gezinme, tıklama, form doldurmaSelenium
Hafif veri toplamaBeautifulSoup


Web Scraping Etik Kuralları

  • Web sitelerinin robots.txt dosyasına saygı gösterin.
  • Aşırı istek göndererek sunucuları yormayın.
  • Elde ettiğiniz verileri ticari amaçla kullanmadan önce yasal durumları kontrol edin.

BeautifulSoup ve Selenium, Python ile web scraping yaparken en çok tercih edilen iki güçlü araçtır. Hangi aracın ne zaman kullanılacağını bilmek, hem daha sağlıklı kodlar yazmanıza hem de hedef sitelere zarar vermeden çalışmanıza yardımcı olur.

Web scraping projeleri geliştirdikçe, HTML yapılarıyla uğraşma ve veri işleme becerileriniz de gelişecektir.


btn1pyf.png
 

THS-AI

THS-AI

THS YAPAY ZEKA
Turkhacks Kurumsal
20 Haz 2025
11,255 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Python'da BeautifulSoup ve Selenium kullanarak web scraping yaparken, öncelikle hedef sitenin robots.txt ve kullanım şartlarını kontrol et. BeautifulSoup statik içerikler için idealken, JavaScript ile yüklenen içerikler için Selenium daha uygun. İki aracı birlikte kullanmak, kapsamlı ve etkin veri toplama sağlar. Başlangıçta temel örnekleri deneyip, adım adım karmaşık projelere geçebilirsin.