İş dünyasının dijitalleşmesiyle birlikte, web üzerindeki verilerin anlık ve doğru şekilde toplanması giderek daha kritik hale geldi. Özellikle pazarlama teknolojileri (MarTech) mimarları ve veri analistleri için, manuel veri toplama işlemleri hem zaman kaybına hem de hataya yol açıyor. Bu noktada Power Query, Microsoft Excel ve Power BI içindeki yerleşik yapısıyla, kurumsal veri akışlarını otomatikleştirmenin en verimli yollarından biri olarak öne çıkıyor.
Bu rehberde, Power Query kullanarak web verilerini nasıl otomatik olarak çekebileceğinizi, temizleyebileceğinizi ve analizlere hazır hale getirebileceğinizi adım adım ele alacağız. Karmaşık Python komut dosyalarına veya üçüncü parti araçlara ihtiyaç duymadan, sadece birkaç tıklama ve basit M kodlarıyla nasıl etkili sonuçlar elde edebileceğinizi göreceksiniz.
Neden Power Query Web Veri Toplamada Tercih Ediliyor?
Power Query, ETL (Extract, Transform, Load) süreçlerini doğrudan destekleyen bir araç olarak tasarlandı. Geleneksel yöntemlerde karşılaşılan veri tabanı bağlantılarından, betik bağımlılıklarından ve çalışma ortamı kurulumlarından kurtularak, kullanıcıların sadece veri toplama ve dönüştürme üzerine odaklanmasını sağlıyor. İşte Power Query’nin web veri toplarken sunduğu avantajlar:
- Canlı web bağlantılarından doğrudan veri çekme: Herhangi bir aracıya gerek kalmadan, doğrudan hedef URL’lerden veri alabilirsiniz.
- Yapılandırılmış ve yapılandırılmamış HTML tablolarını kolayca ayrıştırma: Sayfalardaki tabloları otomatik olarak tanımlayabilir ve verileri yapılandırabilirsiniz.
- Sayfalama (pagination) destekli otomatik veri toplama: Binlerce sayfadan oluşan veri setlerini bile karmaşık komut satırı komutları yazmadan otomatik olarak çekebilirsiniz.
1. Yapılandırılmış Web Tablolarından Veri Çekme
Web sayfalarında bulunan tablolardan veri toplamak, Power Query’nin en temel kullanım alanlarından biridir. Aşağıdaki adımları izleyerek sadece birkaç tıklama ile verilerinizi çekebilirsiniz:
- Excel veya Power BI’yı açın ve Veri > Web’den Al seçeneğine gidin.
- Hedef URL’nizi yapıştırın ve Power Query’nin otomatik olarak sayfayı tarayarak bulduğu tabloları listelemesini bekleyin.
- İhtiyacınıza uygun tabloyu seçin ve Yükle düğmesine tıklayın.
Bu işlem sırasında Power Query, arka planda otomatik olarak aşağıdaki yapıya benzer bir M kodu oluşturur:
let
Source = Web.Contents("),
ExtractTable = Html.Table(
Source,
{
{"Sıra No", "TABLE > TR > TD:nth-child(1)"},
{"Başlık", "TABLE > TR > TD:nth-child(2)"},
{"Tıklanma Oranı", "TABLE > TR > TD:nth-child(3)"}
},
[RowStyle=RowStyle.All]
)
in
ExtractTable2. Sayfalama ve Dinamik URL’lerle Gelişmiş Veri Toplama
Gerçek dünya senaryolarında, veriler genellikle tek bir sayfaya sığmayacak kadar büyük olabilir. Örneğin, bir arama motorunun sonuç sayfalarını ya da bir e-ticaret sitesindeki ürün listesini tararken, sayfalamayı (pagination) yönetmek zorundasınız. Power Query’nin Özel Fonksiyon (Custom Function) özelliği, bu süreci otomatikleştirmek için mükemmel bir çözüm sunar.
Aşağıdaki adımları izleyerek çok sayfalı verileri otomatik olarak çekebilirsiniz:
- Power Query Editörünü açın ve boş bir sorgu oluşturun. Adını SayfaÇek olarak adlandırın.
- Gelişmiş Düzenleyiciye (Advanced Editor) geçin ve aşağıdaki M fonksiyonunu ekleyin:
(pageSayisi as number) as table =>
let
// Dinamik URL oluşturma
HedefURL = " & Number.ToText(pageSayisi),
// Sayfadan veri çekme
Kaynak = Web.Contents(HedefURL),
// Verileri CSS seçicileriyle ayrıştırma
CekilenVeri = Html.Table(
Kaynak,
{
{"Ürün Adı", ".urun-basligi"},
{"Fiyat", ".fiyat-bilgisi"},
{"Kategori", ".kategori-etiketi"}
},
[RowStyle=RowStyle.All]
)
in
CekilenVeri- Fonksiyonu çağırmak için bir liste oluşturun: Örneğin, 1’den 50’ye kadar olan sayfaları temsil eden bir dizi oluşturun ve bu diziyi bir tabloya dönüştürün.
- Yeni bir sorgu ekleyin, oluşturduğunuz tabloyu seçin ve Sütun Ekle > Özel Fonksiyonu Çağır seçeneğini kullanarak fonksiyonu çalıştırın.
Power Query, bu adımları otomatik olarak yürüterek, tüm sayfaların verilerini tek bir veri setinde birleştirecektir.
3. Veri Temizleme ve Dönüştürme Süreçleri
Çekilen ham veriler genellikle analiz için hazır değildir. Power Query’nin en güçlü yanlarından biri, verileri temizleme ve standartlaştırma yeteneğidir. Aşağıdaki adımlarla verilerinizi analizlere hazır hale getirebilirsiniz:
- Metin Normalizasyonu: Karışık büyük-küçük harf kullanımlarını düzeltin ve tüm metinleri küçük harfe dönüştürün.
- Boş ve Hatalı Verilerin Temizlenmesi: Null değerleri, yer tutucu karakterleri veya bozuk izleme dizilerini kaldırın.
- Veri Türlerinin Doğru Şekilde Tanımlanması: Tarih, sayı veya metin gibi veri türlerini doğru şekilde tanımlayarak, analiz araçlarında oluşabilecek hatalardan kaçının.
Örneğin, aşağıdaki M kodu parçası tarih verilerini standart ISO formatına dönüştürebilir:
let
Source = #"Önceki Adım",
TarihDuzenle = Table.TransformColumns(
Source,
{
{"YayinTarihi", each DateTime.FromText(_), type datetime}
}
)
in
TarihDuzenleVeri Akışınızı Otomatikleştirerek İş Zekası Kazançları Elde Edin
Power Query kullanarak web verilerini otomatik olarak çekmek, temizlemek ve analizlere hazır hale getirmek, işletmelerin veri odaklı karar alma süreçlerini önemli ölçüde hızlandırır. Artık manuel veri toplama işlemlerine bağımlı kalmadan, sadece bir tıklama ile güncel verileri analizlerinize entegre edebilirsiniz. Bu sayede, rekabet avantajı sağlamak ve pazarlama stratejilerinizi sürekli olarak optimize etmek çok daha kolay hale gelecektir.
İster SEO denetimleri için rakip analizleri yapıyor olun, ister pazarlama kampanyalarınızın performansını ölçüyor olun, Power Query’nin sunduğu esneklik ve otomatikleştirme özellikleri, veri toplama süreçlerinizi yeniden tanımlayabilir.
Yapay zeka özeti
Power Query kullanarak web verilerini otomatik olarak nasıl çekebilir, temizleyebilir ve analizlere hazır hale getirebilirsiniz? Adım adım rehber ve M kodu örnekleriyle.