Python ile Web Scraping'e Giriş (requests + BeautifulSoup)
14 viewsPython ile Web Scraping'e Giriş
Python, web scraping için en popüler programlama dillerinden biridir. Yeni başlayanlar için en kolay ve etkili başlangıç noktası requests + BeautifulSoup kombinasyonudur.
Bu makalede bu iki kütüphane ile temel web scraping nasıl yapılır, adım adım anlatacağız.
Gerekli Kütüphaneler
Öncelikle şu kütüphaneleri yükleyin:
Bash
pip install requests beautifulsoup4
requests Kütüphanesi Nedir?
requests, web sitelerine HTTP isteği göndermek için kullanılan basit ve güçlü bir kütüphanedir. Web sayfasının HTML kodunu indirmemizi sağlar.
BeautifulSoup Kütüphanesi Nedir?
BeautifulSoup, HTML ve XML belgelerini ayrıştırmak (parse etmek) için kullanılan bir kütüphanedir. İndirilen HTML içinden istediğimiz verileri kolayca çıkarmamızı sağlar.
Basit Web Scraping Örneği
Aşağıdaki örnekte, örnek bir web sitesinden başlık ve paragraf bilgisi çekiyoruz:
Python
import requests from bs4 import BeautifulSoup # Hedef URL url = "https://example.com" # Sayfa içeriğini indir response = requests.get(url) # HTML'i BeautifulSoup ile parse et soup = BeautifulSoup(response.text, "html.parser") # Başlıkları bul basliklar = soup.find_all("h1") for baslik in basliklar: print(baslik.get_text())
Adım Adım Açıklama
- requests.get(url) → Web sitesine istek atar ve HTML kodunu getirir.
- BeautifulSoup(response.text, "html.parser") → HTML kodunu işlenebilir hale getirir.
- soup.find_all("h1") → Tüm <h1> etiketlerini bulur.
- get_text() → Etiket içindeki metni çıkarır.
Gerçekçi Bir Örnek: Haber Başlıklarını Çekme
Python
import requests from bs4 import BeautifulSoup url = "https://news.ycombinator.com/" response = requests.get(url) soup = BeautifulSoup(response.text, "html.parser") # Hacker News başlıklarını çek basliklar = soup.find_all("span", class_="titleline") for baslik in basliklar[:10]: # İlk 10 başlığı al print(baslik.get_text())
Bu Yöntemin Sınırlamaları
requests + BeautifulSoup yöntemi her zaman yeterli olmayabilir:
- JavaScript ile yüklenen içerikler çekilemez (dinamik siteler)
- Login gerektiren sitelerde yetersiz kalır
- Anti-bot sistemleri tarafından kolayca tespit edilebilir
- Karmaşık sitelerde parsing işlemi zorlaşabilir
Bu durumlarda Selenium veya Playwright gibi tarayıcı otomasyon araçları tercih edilir.
Ne Zaman requests + BeautifulSoup Kullanmalısınız?
- Statik (JavaScript’siz) web siteleri
- Basit veri çekme işlemleri
- Hızlı prototip geliştirme
- Küçük ve orta ölçekli projeler
- API’si olmayan sitelerden veri toplama
Sonuç
requests + BeautifulSoup kombinasyonu, Python ile web scraping’e başlamak için en ideal yöntemdir. Basit, hızlı ve öğrenmesi kolaydır. Ancak daha karmaşık ve dinamik siteler için daha gelişmiş araçlara geçmeniz gerekebilir.
Bir sonraki makalemizde Selenium ile Dinamik Web Sitelerinden Veri Çekme konusunu detaylı olarak inceleyeceğiz.
Hangi proxy türünün sizin projenize daha uygun olduğunu öğrenmek isterseniz, bizimle iletişime geçebilirsiniz.
ProxymoTR - Premium Proxy Services
