Skip to content

HSCN809/Oxylabs_Game_Scraper

Repository files navigation

Oxylabs_Game_Scraper

Oxylabs’ın demo mağazasından (https://sandbox.oxylabs.io) oyun kartlarını toplayıp Excel’e kaydeden, log ve istatistikleri canlı gösteren masaüstü GUI uygulaması. Amaç: Platform → Kategori → Sayfa hiyerarşisini otomatik gezip; başlık, kategori(ler), fiyat, stok, puan (yıldız), açıklama ve URL’leri çıkarıp .xlsx olarak kaydetmek.

Özellikler

  1. ✅ GUI (Tkinter): Başlat/Durdur, otomatik/manuel Excel kaydı, log penceresi, canlı istatistikler
  2. ✅ Selenium (Headless/Normal): Görünür tarayıcı veya başlıksız mod
  3. ✅ Dinamik Keşif: Sol menüden platform ve alt kategorileri açıp listeleri otomatik toplar
  4. ✅ Sayfalama Desteği: Tüm sayfalardaki ürün kartlarını gezer
  5. ✅ Dayanıklı Seçiciler: Bekleme stratejileri ve hata toleransı (Timeout, StaleElement vb.)
  6. ✅ Excel Çıktısı (openpyxl): Otomatik sütun genişliği, filtreleme, sabit kolon düzeni
  7. ✅ Hızlı Özet/Analiz: Platform/kategori dağılımı, stok durumu ve basit fiyat istatistikleri

Arayüz

  1. Tarayıcı Modu: Normal (Tarayıcı Görünür) veya Headless (Tarayıcı Gizlidir Yani Görünmez)
  2. Otomatik Excel kaydet: Bittiğinde .xlsx otomatik yazılır
  3. Kayıt Yolu: İsterseniz çıktı yolunu önceden seçin
  4. Scraping Başlat: Süreç başlar; loglar ve istatistikler akar
  5. Durdur: Güvenli durdurma sinyali gönderir
  6. Excel Olarak Kaydet: Manuel kaydetme (otomatik kapalıysa faydalıdır)

Çalışma Sırasında -> Durum satırında anlık açıklamalar (örn. “Toplam 120 oyun işlendi”) -> Log penceresinde platform/kategori ilerleyişi ve uyarılar -> İstatistiklerde Toplam Oyun, Platform sayısı canlı güncellenir

Çıktı Yapısı

Çıktı dosyası: oxylabs_games_YYYYMMDD_HHMMSS.xlsx Sayfa adı: Games Sütunlar (sabit sırayla):

Kolon Açıklama
platform Sol menüdeki platform adı
category Seçilen alt kategori adı (yoksa “General”)
title Ürün/Oyun başlığı
categories Kart içi ek kategori etiketleri
price Metin olarak fiyat (örn. 29.99 €)
rating Yıldız sayısı (svg adedi)
stock_status In stock / Out of stock vb.
description Açıklama (kısaltılmış)
url Ürün detayı URL’si
scraped_date İşlenme tarihi/saat

Mimari ve Akış ScraperGUI (Tkinter)

├─ Ayarlar (Headless, Otomatik Kayıt, Kayıt Yolu)

├─ Başlat/Durdur/Excel Kaydet

├─ Log + İstatistik paneli

└─ Thread -> OxylabsGameScraper.run_scraper()

  ├─ setup_driver()           # Chrome + Options
  
  ├─ get_platforms_and_categories()
  
  │    └─ Sol menü → platform & alt kategori keşfi
  
  ├─ scrape_category_games()
  
  │    └─ pagination → product-card → extract_game_data()
  
  ├─ save_to_excel()
  
  └─ analyze_scraped_data()   # Konsol özeti

Önemli Metodlar

  • get_platforms_and_categories(): Sol panelde SVG dropdown’ları açarak alt kategorileri listeler
  • scrape_category_games(url, platform, category): Tüm sayfaları gezip kartlardan alanları toplar
  • extract_game_data(card): Başlık, kategori(ler), fiyat, stok, rating, açıklama, URL çıkarır
  • save_to_excel(filename): openpyxl ile düzenli .xlsx üretir
  • analyze_scraped_data(): Platform/kategori/ fiyat/ stok kısa özeti

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors