Python ile Web Scraping: BeautifulSoup ve Requests ile Veri Kazıma
Günümüzde internet, bilgiye ulaşmanın en hızlı ve kolay yollarından biri haline geldi. Ancak çoğu zaman bu bilgiler web sayfalarında kullanıcıya görsel olarak sunulur ve doğrudan veritabanı gibi erişilebilir değildir. İşte tam bu noktada web scraping, yani web kazıma işlemi devreye girer. Bu yazımda Python programlama dili kullanarak, BeautifulSoup ve Requests kütüphaneleri ile nasıl web scraping yapılacağını adım adım anlatacağım.
Web Scraping Nedir?
Web scraping, bir web sitesinden verileri otomatik olarak çekme işlemine verilen isimdir. Genellikle haber sitelerinden başlıkları, e-ticaret sitelerinden ürün bilgilerini veya hava durumu sitelerinden güncel tahminleri çekmek için kullanılır. Python, bu işlem için oldukça kullanışlı ve güçlü kütüphaneler sunar.
Neden Python ile Web Scraping?
- Python’un basit ve okunabilir sözdizimi
- Geniş topluluk desteği
- Requests ile kolay HTTP istekleri
- BeautifulSoup ile HTML içeriğini kolayca parse etme
Kullanılacak Kütüphaneler
- requests: Web sayfalarına HTTP isteği göndermek için kullanılır.
- beautifulsoup4: HTML içeriğini parse ederek istenen verileri ayıklamak için kullanılır.
Bu kütüphaneleri yüklemek için ;
pip install requests beautifulsoup4
Basit Web Scraping Örneği
Aşağıda bir haber sitesinden başlıkları çeken örnek bir Python kodu yer alıyor
import requests
from bs4 import BeautifulSoup
# İlgili URL
url = "https://serdarkaraca.com.tr"
# HTTP isteği gönder
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
# Başlıkları bul
headlines = soup.find_all("h4")
print("serdarkaraca.com.tr'de Yazı Başlıkları :")
for h in headlines:
print("-", h.text.strip())
Açıklama:
requests.get(url)
: Web sitesine istek gönderir.BeautifulSoup
: HTML içeriği parse eder.find_all("h4")
: Sayfadaki tüm<h4>
başlıklarını alır.
Basit Web Scraping Örneği 2
import requests
from bs4 import BeautifulSoup
url = "https://serdarkaraca.com.tr/kategori/javascript"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
products = soup.find_all("div", class_="spnc-post-content")
for product in products:
name = product.find("h4").text
description = product.find("p", class_="spnc-description").text
print(f"Yazı: {name}, Description: {description}")
Web Scraping Yaparken Dikkat Edilmesi Gerekenler
- robots.txt dosyasını kontrol edin. Her sitenin kazınmasına izin verilmez.
- Aşırı istek göndermekten kaçının. IP’niz banlanabilir.
- Verilerin güncelliğini korumak için periyodik olarak veri çekme sistemleri kurabilirsiniz.
Web Scraping ile Neler Yapabilirsiniz?
- Haber sitelerinden günlük manşetleri çekme
- E-ticaret sitelerinden fiyat karşılaştırmaları
- Hava durumu verilerini toplama
- SEO analizleri için içerik tarama
- Forumlardan kullanıcı yorumları çekme
Web scraping, Python’un güçlü kütüphaneleri sayesinde oldukça kolay ve etkili bir hale gelmiştir. BeautifulSoup ve Requests, basit HTML sayfalarındaki verileri çekmek için mükemmel bir başlangıç noktasıdır. Unutmayın, etik kurallara uygun davranmak ve web sitelerinin kullanım şartlarını dikkate almak önemlidir.
Yukarıda paylaştığım kodların çalışan bir örneğini aşağıda ki bağlantıdan inceleyebilir veya indirebilirsiniz.
Python ile İlgili Tüm Yazılarımı Buradan Veya Tüm Örneklerimi Github Üzerinden İnceleyebilirsiniz.
Bir Yorum Yazın