WhatsApp ile yaz
← Blog

Python ile Web Scraping Nedir?

📅 23.10.2026

Python ile Web Scraping Nedir?

Web Scraping, web sitelerinden veri çekme işlemidir. Python, güçlü kütüphaneleri sayesinde bu süreci hızlı ve güvenli bir şekilde gerçekleştirmenizi sağlar. Web Scraping, veri analizi, fiyat takibi, içerik toplama ve araştırma gibi birçok alanda kullanılmaktadır.


Gerekli Kütüphaneler ve Kurulum

Python ile Web Scraping yaparken en sık kullanılan kütüphaneler şunlardır:

  • Requests: HTTP istekleri göndermek için kullanılır.
  • BeautifulSoup: HTML ve XML dökümanlarını parse etmek için idealdir.
  • Scrapy: Büyük ölçekli ve karmaşık scraping projeleri için framework sağlar.
  • LXML: Hızlı ve güçlü XML/HTML parse eder.

Kurulum için pip komutları:

pip install requests
pip install beautifulsoup4
pip install scrapy
pip install lxml

Temel Adımlar

Web Scraping sürecinde izlenecek temel adımlar şunlardır:

  • Hedef URL belirleme
  • HTTP isteği gönderme
  • HTML içeriğini parse etme
  • Gerekli veriyi seçme
  • Veriyi temizleme ve saklama

Bu adımlar, kod örneğinde adım adım gösterilmiştir.


Basit Bir Örnek: Haber Sitesinden Başlık Çekme

Aşağıdaki kod, örnek bir haber sitesinden başlıkları çekmektedir. Kod, Requests ve BeautifulSoup kullanarak sayfayı indirir ve başlıkları seçer.

import requests
from bs4 import BeautifulSoup

url = "https://www.example.com/haberler"
response = requests.get(url)
soup = BeautifulSoup(response.content, "lxml")

# Başlıkları seç
headlines = soup.find_all("h2", class_="headline")

for title in headlines:
    print(title.get_text(strip=True))

Veri Temizleme ve İşleme

Çekilen veriler genellikle ham ve düzensiz olur. Temizleme adımları şunları içerebilir:

  • Boşluk ve satır sonu karakterlerini kaldırma
  • Unicode karakterlerini standartlaştırma
  • URL’leri tam yol haline getirme
  • Zaman damgalarını standart formatta tutma

Python’da bu işlemleri yaparken re (regex), datetime ve pandas gibi kütüphaneler sıklıkla kullanılır.


Scrapy ile Daha Gelişmiş Scraping

Scrapy, büyük ölçekli projeler için uygundur. İstekleri yönetir, veri çıkartma süreçlerini otomatikleştirir ve sonuçları JSON, CSV veya veritabanına kaydedebilir. Aşağıda basit bir Scrapy spider’ı gösterilmiştir:

import scrapy

class HaberSpider(scrapy.Spider):
    name = "haber_spider"
    start_urls = ["https://www.example.com/haberler"]

    def parse(self, response):
        for article in response.css("div.article"):
            yield {
                "title": article.css("h2.headline::text").get(),
                "url": article.css("a::attr(href)").get(),
                "date": article.css("span.date::text").get(),
            }

Etik ve Yasal Konular

Web Scraping yaparken dikkat edilmesi gereken etik ve yasal noktalar:

  • Site’nin robots.txt dosyasını kontrol etmek.
  • Çok sık istek göndermemek; sunucuya zarar vermemek.
  • Veri kullanım şartlarını okumak ve gerekirse izin almak.
  • Kişisel verileri izinsiz toplamak yasaktır.

Bu kurallara uymak, hem hukuki sorunları önler hem de sitenin sağlıklı çalışmasını destekler.


Performans ve Hız Optimizasyonu

Scraping performansını artırmak için:

  • Asenkron istekler kullanmak (aiohttp, httpx).
  • Cacheleme stratejileri uygulamak.
  • Paralel işlem (ThreadPoolExecutor, multiprocessing) ile çoklu çekme.
  • Veri kaydetme işlemlerini toplu olarak yapmak.

Bu yöntemler, büyük veri setleriyle çalışırken zaman ve kaynak tasarrufu sağlar.


Veri Saklama Yöntemleri

Çekilen veriyi saklamak için popüler yöntemler:

  • CSV dosyası: pandas.DataFrame.to_csv()
  • JSON dosyası: json.dump()
  • Veritabanı: SQLite, PostgreSQL, MongoDB
  • Bulut depolama: AWS S3, Google Cloud Storage

Seçilen format, veri analizi ve kullanım senaryosuna göre değişir.


Sonuç ve Öneriler

Python ile Web Scraping, doğru kütüphane ve strateji seçildiğinde güçlü bir veri toplama aracıdır. Başarılı bir proje için:

  • Hedef sitenin yapısını inceleyin.
  • İstek sıklığını ve gecikmelerini ayarlayın.
  • Veri temizleme ve doğrulama adımlarını unutmayın.
  • Etik kurallara uyun ve yasal sorumlulukları göz önünde bulundurun.

Bu rehber, başlangıç seviyesinden orta düzeye kadar bir yol haritası sunar ve Python ile Web Scraping konusunda sağlam bir temel oluşturur.