Eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
internet URL link adres:Kesinleşmiş Günlük Üretim Planı - Planlama - Üretim | EPİAŞ Şeffaflık Platformu
link girerseniz ordaki girmek istediğim şu şekilde olacak.
başlangıç tarih 25.08.2019 ve bitiş tarih 08.08.2019 ve
Organizasyon Adı: HAMİTABAT ELEKTRİK ÜRETİM VE TİCARET A.Ş.
UEVÇB Adı:HAMİTABAT ÜNİTE-10 yazdıktan sonra buton tıklayarak veriler excele vba ile veri çekmek istiyorum.
nasıl yapabilirim?
Excel VBA kullanarak belirli bir web sitesinden veri çekmek, site yapısına ve veriye erişimin izin verilip verilmediğine bağlıdır. Bahsettiğiniz web sitesi (EPİAŞ Şeffaflık) üzerinde, başlangıç ve bitiş tarihleri, organizasyon adı ve diğer bilgiler girilerek veri çekme süreci genel olarak şu adımları takip eder:
Adım 1: Web Query Kullanımı
Eğer web sitesi tablo halinde düzenli veri sunuyorsa, Excel'in "Get & Transform Data" (Veri Al ve Dönüştür) aracı kullanılarak veri doğrudan Excel'e çekilebilir. Ancak bu, sitenin yapısına bağlı bir durumdur ve JavaScript ile dinamik olarak yüklenen verileri çekmek için uygun olmayabilir.
Adım 2: VBA ile Web Scraping
VBA ile web scraping yapmak için Microsoft Internet Controls ve Microsoft HTML Object Library referanslarını kullanarak bir web sayfasından verileri çekmek mümkündür. Ancak bu yöntem, sitenin yapısını ve HTML elementlerini iyi anlamayı gerektirir.
Aşağıda, VBA kullanarak basit bir web scraping işlemi için örnek bir kod verilmiştir. Bu kod, web sayfasını açar, belirli alanlara veri girer ve sonuçları almak için gereken butona basar:
VBA:
Sub GetDataFromWeb()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
' Internet Explorer'ı aç ve belirtilen URL'ye git
ie.Visible = True
ie.navigate "https://seffaflik.epias.com.tr/home"
' Sayfanın yüklenmesini bekle
Do While ie.Busy Or ie.readyState <> 4
DoEvents
Loop
' Tarih ve diğer bilgileri gir
ie.document.getElementById("startDate").Value = "25.08.2019" ' Başlangıç tarihini gir
ie.document.getElementById("endDate").Value = "08.08.2019" ' Bitiş tarihini gir
' Organizasyon Adı ve UEVÇB Adı için uygun element ID'lerini bulup doldurun
' Örnek:
' ie.document.querySelector("input[name='organizationName']").Value = "HAMİTABAT ELEKTRİK ÜRETİM VE TİCARET A.Ş."
' ie.document.querySelector("input[name='uevcbName']").Value = "HAMİTABAT ÜNİTE-10"
' Butona bas
ie.document.getElementById("searchButton").Click
' Sonuçları al ve işle (Örnek olarak, sayfadaki bir tabloyu Excel'e kopyala)
' Bu kısım, sayfa yapısına bağlı olarak değişiklik gösterecektir.
' İşlem tamamlandığında IE'yi kapat
ie.Quit
Set ie = Nothing
End Sub
Önemli Notlar:
Yukarıdaki kodda getElementById, querySelector, Value ve Click metodları, sayfanın HTML yapısına göre ayarlanmalıdır. Bu bilgileri elde etmek için sayfanın kaynak kodunu incelemeniz gerekebilir.
Web scraping yaparken, hedef web sitesinin kullanım koşullarına ve veri erişim politikalarına dikkat etmek önemlidir. İzin verilmeyen veri çekme işlemleri yasal sorunlara yol açabilir.
Bazı durumlarda, web sitesi dinamik içerik yükleme kullanıyor olabilir. Bu durumda, verilerin yüklendiğinden emin olmak için ek beklemeler veya daha karmaşık DOM işlemleri gerekebilir.