Python ile Web Scraping Nasıl Yapılır? Beautifulsoup ve Requests Rehberi

Python ile Web Scraping Nasıl Yapılır? Beautifulsoup ve Requests Rehberi

Gokce Hatun

Gümüş
Kayıtlı Kullanıcı
Puan 1
Çözümler 0
Katılım
9 Ağu 2026
Mesajlar
111
Tepkime puanı
14
Gokce Hatun
### Python ile Web Scraping Nasıl Yapılır? BeautifulSoup ve Requests Rehberi

Python, web scraping işlemlerinde en popüler dillerden biri haline geldi. Bu rehberde, BeautifulSoup ve Requests kütüphanelerini kullanarak nasıl web scraping yapabileceğinizi adım adım öğreneceksiniz. Hazır mısınız? Hadi başlayalım!

#### Nedir Web Scraping?

Web scraping, bir web sitesinden otomatik olarak veri çekme işlemidir. Bu, genellikle web sayfalarının HTML içeriğini analiz ederek yapılır. Python, bu tür işlemler için güçlü kütüphanelere sahiptir ve özellikle BeautifulSoup ve Requests, en çok tercih edilen kütüphanelerdir.

#### Gerekli Kütüphanelerin Kurulumu

Öncelikle, BeautifulSoup ve Requests kütüphanelerini yüklememiz gerekiyor. Bunun için terminal veya komut istemcisine şu komutları yazabilirsiniz:

```bash
pip install beautifulsoup4 requests
```

#### Web Scraping Nasıl Yapılır?

Artık gerekli kütüphaneleri yüklediğimize göre, basit bir web scraping örneği üzerinden gidebiliriz. Bu örnekte, bir web sayfasından başlıkları çekmeyi öğreneceğiz.

##### Adım 1: HTML Sayfasını İndirin

İlk olarak, scraping yapmak istediğimiz web sayfasının HTML içeriğini Requests kütüphanesi ile indireceğiz.

```python
import requests

url = 'https://example.com' # Buraya scraping yapmak istediğiniz sayfanın URL'sini yazın.
response = requests.get(url)

if response.statuscode == 200:
htmlcontent = response.text
else:
print("Sayfa indirilemedi:", response.statuscode)
```

> Not: Gerçek bir web sayfası kullanırken, sitenin scraping kurallarına dikkat edin. Bazı siteler web scraping işlemlerine izin vermemektedir.

##### Adım 2: BeautifulSoup ile HTML'yi Analiz Et

HTML içeriğini indirdikten sonra, BeautifulSoup kullanarak bu içeriği analiz edebiliriz.

```python
from bs4 import BeautifulSoup

soup = BeautifulSoup(htmlcontent, 'html.parser')

# Örnek olarak sayfadaki başlıkları çekelim:
headings = soup.find_all('h2') # h2 etiketindeki başlıkları bul

for heading in headings:
print(heading.text.strip()) # Başlıkları yazdır
```

##### Adım 3: Verileri Kaydetme

Çektiğimiz verileri bir dosyaya kaydetmek istiyorsanız, şu şekilde yapabilirsiniz:

```python
with open('headings.txt', 'w') as file:
for heading in headings:
file.write(heading.text.strip() + '\n')
```

#### İpuçları

- Robots.txt Kontrolü: Web scraping yapmadan önce, hedef sitenin `robots.txt` dosyasını kontrol edin. Bu dosya, hangi sayfaların taranabileceğini belirtir.
- Zaman Aşımı ve Hız Sınırlamaları: Çok fazla istek göndermekten kaçının. Bunu önlemek için `time.sleep()` fonksiyonunu kullanarak isteklere aralıklar koyabilirsiniz.
- Veri Temizleme: Çektiğiniz veriler genellikle ham halde olacaktır. Bu nedenle, temizleme işlemleri yapmayı unutmayın.

#### Sık Yapılan Hatalar

- Yanlış Seçiciler Kullanmak: HTML yapısını iyi analiz etmeden seçim yaparsanız, beklediğiniz verileri alamayabilirsiniz.
- Gereksiz İstek Göndermek: Hedef sitelere aşırı yük bindirmek, IP'nizin yasaklanmasına neden olabilir. Dikkatli olun.

#### Sonuç

Python ile web scraping yapmak oldukça eğlenceli ve öğretici bir deneyimdir. BeautifulSoup ve Requests kütüphaneleri ile veri çekmek, kullanıcıların web üzerindeki verileri etkili bir şekilde elde etmelerini sağlar. Ancak, her zaman etik kurallara dikkat etmek ve hedef sitenin kurallarına saygı göstermek önemlidir.

#### Sık Sorulan Sorular

1. Web scraping yasal mı?
- Web scraping, sitenin kullanım koşullarına bağlı olarak değişir. Her zaman `robots.txt` dosyasını kontrol edin.

2. Hangi sitelerden veri çekebilirim?
- Genel olarak, veri çekme izni olan sitelerden veri çekebilirsiniz. Özel veya ticari sitelerden veri çekmek yasal sorunlara yol açabilir.

3. Başka hangi kütüphaneler var?
- Selenium, Scrapy gibi başka kütüphaneler de mevcuttur. Selenium, dinamik içerikler için daha uygundur.
 

SanalOrdu'ya Hoş Geldiniz!

💻 Teknoloji dünyasına hoş geldiniz! 🤖 Yapay zekâ, yazılım, donanım, siber güvenlik, oyun ve daha fazlasını keşfedin. 🚀 Ücretsiz üye olun, konulara katılın, soru sorun ve bilgilerinizi paylaşın!

Ücretsiz Üye Ol

GÜNÜN SÖZÜ

🛡️ GÜNÜN SİBER GÜVENLİK & TEKNOLOJİ İPUCU

Veriler yükleniyor...

Geri