Merhaba, kod meraklıları! Bugün sizlerle, veri bilimi dünyasına adım atmanın en eğlenceli yollarından birini keşfedeceğiz: Python ile basit bir web scraper yazmak. Eğer Python'a yeni başlıyorsanız, bu rehber tam size göre! Hadi gelin, adım adım nasıl veri toplayabileceğimize bakalım. 🚀
Web Scraping Nedir ve Neden Önemlidir?
Python, bu işi yapmak için harika bir dil çünkü hem kolay öğrenilebilir hem de güçlü kütüphaneleri ile bu süreci çok basit hale getiriyor.
Web Scraping İçin Gereksinimler
pip install requests
pip install beautifulsoup4
Yukarıdaki komutları terminal veya komut istemcisine yazarak bu kütüphaneleri kurabilirsiniz.
Web Scraping Adım Adım
# Adım 1: Web Sayfasını İndirme
import requests
# Web sayfasının URL'si
url = "https://www.habersite.com"
# Sayfayı indirme
response = requests.get(url)
# Sayfanın HTML içeriğini kontrol etme
print(response.text)
Bu kod, hedeflediğimiz URL'den sayfanın HTML içeriğini alacak ve ekrana yazdıracak. Eğer her şey doğruysa, sayfanın içeriği ekranınıza yansıyacaktır.
# Adım 2: BeautifulSoup ile HTML İçeriğini Parse Etme
from bs4 import BeautifulSoup
# Sayfanın HTML içeriğini parse etme
soup = BeautifulSoup(response.text, 'html.parser')
# Sayfanın başlıklarını çekme
headlines = soup.find_all('h2') # Başlıklar genellikle tag'inde olur
# Başlıkları ekrana yazdırma
for headline in headlines:
print(headline.text)
Bu kod, sayfanın `
` etiketleri içindeki tüm başlıkları çeker ve ekrana yazdırır. İsterseniz ``, `` gibi etiketlere göre de düzenleme yapabilirsiniz.
# Adım 3: Verileri Kaydetme
Verileri topladıktan sonra, bunları bir dosyaya kaydedebiliriz. Örneğin, başlıkları bir metin dosyasına yazdıralım:
# Başlıkları bir dosyaya kaydetme
with open('headlines.txt', 'w') as file:
for headline in headlines:
file.write(headline.text + "\n")
Bu, başlıkları bir `.txt` dosyasına kaydedecektir. Tabii ki, verilerinizi CSV veya JSON formatlarında da saklayabilirsiniz, ama şimdilik bu şekilde basit tutalım.
Web Scraping İçin İpuçları ve Dikkat Edilmesi Gerekenler
1.
Web Sitesinin Robots.txt Dosyasını Kontrol Edin: Her web sitesi, hangi verilerin scraping yapılabileceğini belirleyen bir `robots.txt` dosyasına sahiptir. Yasalara ve web sitesinin kurallarına uymak çok önemlidir.` gibi etiketlere göre de düzenleme yapabilirsiniz.
# Adım 3: Verileri Kaydetme
Verileri topladıktan sonra, bunları bir dosyaya kaydedebiliriz. Örneğin, başlıkları bir metin dosyasına yazdıralım:
# Başlıkları bir dosyaya kaydetme
with open('headlines.txt', 'w') as file:
for headline in headlines:
file.write(headline.text + "\n")
Bu, başlıkları bir `.txt` dosyasına kaydedecektir. Tabii ki, verilerinizi CSV veya JSON formatlarında da saklayabilirsiniz, ama şimdilik bu şekilde basit tutalım.
Web Scraping İçin İpuçları ve Dikkat Edilmesi Gerekenler
1.
# Adım 3: Verileri Kaydetme
# Başlıkları bir dosyaya kaydetme
with open('headlines.txt', 'w') as file:
for headline in headlines:
file.write(headline.text + "\n")
Web Scraping İçin İpuçları ve Dikkat Edilmesi Gerekenler
2. Web Sayfasının Yapısı Sürekli Değişebilir: Web sayfaları zaman zaman tasarım değişiklikleri yapabilir. Bu yüzden scraper'ınızın çalışıp çalışmadığını düzenli olarak kontrol edin.
3. Zamanlayıcı ve Döngüler Kullanın: Çektiğiniz verilerin çok fazla olması durumunda, web sitesine aşırı yük bindirmemek için isteklerinizi zamanlamak ve döngülerle kontrollü şekilde yapmalısınız.
Sonuç
Unutmayın, her zaman etik kurallara uygun hareket edin ve web scraping işleminizi sorunsuz bir şekilde yapın!