Tartışma

Sıfırdan Borsa Veri Çekme: BeautifulSoup ile Veritabanı (MySQL/MariaDB) Kaydı ve DOM Yüklenme ve Element Bulamama Sorunu

Başlatan Cadaloz · 30 Ağu 2026 15:21 · 2 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Borsa verilerini çekmek, yatırımcılar ve analistler için kritik öneme sahip bir süreçtir. Bu yazıda, Python'un güçlü kütüphanelerinden BeautifulSoup'u kullanarak verileri nasıl çekebileceğimizi, bu verileri MySQL veya MariaDB veritabanına nasıl kaydedeceğimizi ve DOM yüklenme ile element bulamama sorunlarını nasıl yönetebileceğimizi ele alacağız.

1. BeautifulSoup ile Veri Çekme

BeautifulSoup, HTML ve XML dosyalarını kolaylıkla parçalayıp, içinden veri çekmemizi sağlayan bir Python kütüphanesidir. İlk adımda, gerekli kütüphaneleri yüklememiz gerekiyor:

CODE
1234
import requests
from bs4 import BeautifulSoup
import mysql.connector


Veri çekmek istediğimiz sayfanın URL'sini belirleyerek, HTML içeriğini alabiliriz:

CODE
1234
url = 'https://example.com/stock-data'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')


Bu noktada, istediğimiz verileri bulmak için soup nesnesini kullanarak belirli HTML elementlerini seçebiliriz.

2. MySQL/MariaDB ile Veri Kaydı

Elde edilen verileri bir veritabanına kaydetmek için önce bir veritabanı bağlantısı oluşturmalıyız:

CODE
12345678
db = mysql.connector.connect(
    host='localhost',
    user='kullanici_ad',
    password='sifre',
    database='veritabani_adi'
)
cursor = db.cursor()


Veri kaydetmek için gerekli SQL sorgusunu oluşturup çalıştırabiliriz:

CODE
12345
sql = "INSERT INTO borsa_verileri (sirket_adi, fiyat) VALUES (%s, %s)"
val = (sirket_adi, fiyat)
cursor.execute(sql, val)
db.commit()


Verileri kaydettikten sonra, bağlantıyı kapatmayı unutmamalıyız:

CODE
123
cursor.close()
db.close()


3. DOM Yüklenme ve Element Bulamama Sorunları

Veri çekme işleminde sıkça karşılaşılan sorunlardan biri, belirli elementlerin DOM'da yüklenmemesi veya zamanla değişmesidir. Bunu yönetmek için birkaç strateji kullanabiliriz:

  • Bekleme Süreleri: time.sleep() ile belirli bir süre bekleyerek, sayfanın tamamen yüklenmesini sağlayabiliriz.
  • JavaScript ile Yüklenen Veriler: Eğer veriler JavaScript ile yükleniyorsa, Selenium gibi bir kütüphane kullanmak daha etkili olabilir.
  • Hata Yönetimi: Element bulunamadığında, uygun hata mesajları verip, programın devam etmesini sağlayacak bir yapı oluşturmak önemlidir.

CODE
123456
try:
    element = soup.find('div', class_='fiyat')
    fiyat = element.text
except AttributeError:
    fiyat = None


Sonuç olarak, BeautifulSoup ile borsa verilerini çekmek, bunları bir veritabanına kaydetmek ve karşılaşabileceğimiz sorunları yönetmek, doğru tekniklerle oldukça verimli hale getirilebilir. Bu yöntemler, veri analizi ve yatırım stratejileri geliştirmek için sağlam bir temel oluşturur.

Yanıt vermek için giriş yapmış olmalısınız.

Bu konuyu görüntüleyen kullanıcılar (Toplam: 1, Üyeler: 1, Misafirler: 0)
Toplam: 1 (üyeler: 1, misafirler: 0)
0 alıntı seçildi