Xpath, XML ve HTML belgelerinde belirli verilere ulaşmak için kullanılan bir sorgu dilidir. Web scraping, test otomasyonu ve XML veri yönetimi gibi işlerde sık tercih edilir. Bu yazıda Xpath’in ne olduğunu, nasıl çalıştığını, temel söz dizimini ve başlıca kullanım alanlarını bulabilirsiniz.
Xpath Nedir?
Xpath (XML Path Language), XML ve HTML dokümanlarında gezinmek, belirli düğümleri (node) seçmek ve bu düğümlerdeki verileri almak için kullanılan bir sorgu dilidir. W3C tarafından tanımlanan Xpath, bir belgeyi ağaç yapısı olarak ele alır; her etiket, özellik (attribute) ve metin bu ağaçta bir düğüm olarak temsil edilir.
Pratikte Xpath, bir web sayfasının kod yapısında istediğiniz bilgiye giden yolu tarif etmenizi sağlar. Örneğin bir sayfadaki tüm başlıkları ya da belirli bir alandaki fiyat bilgisini, o öğenin belge içindeki konumunu tanımlayarak seçebilirsiniz. Bu yönüyle Xpath, HTML yapısını okumayı ve otomatikleştirmeyi kolaylaştırır.
Xpath Nasıl Çalışır?
Xpath ifadeleri, belge ağacında bir konumdan diğerine giden yolu adım adım tanımlar. En sık kullanılan yapı taşları şunlardır:
/— kök düğümden başlayarak doğrudan alt düğümü seçer.//— belgenin herhangi bir derinliğindeki eşleşen düğümleri seçer.@— bir etiketin özelliğini seçer (örneğin@class,@href).[ ]— koşul veya sıra belirtir (örneğin[1],[@id='fiyat']).text()— bir düğümün metin içeriğini döndürür.contains()vestarts-with()— kısmi eşleşme için kullanılan fonksiyonlardır.
Örnek bir ifade: //div[@class='urun']//span[@class='fiyat']/text() yazıldığında, sınıfı “urun” olan div’ler içindeki “fiyat” sınıfına sahip span’lerin metni seçilir. Xpath ifadelerini çoğu tarayıcının geliştirici araçlarındaki Elements sekmesinde test edebilirsiniz.
Xpath Kullanım Alanları
Xpath, veriye hızlı erişim gerektiren birçok alanda kullanılır. Öne çıkan kullanım senaryoları şunlardır:
- Web scraping: Rakip ürün fiyatlarını analiz etmek veya bir sitedeki kullanıcı yorumlarını toplamak için sayfadaki belirli alanlar Xpath ile tespit edilip çekilir.
- Test otomasyonu: Selenium gibi araçlarla birlikte kullanılarak bir web sayfasındaki butonların, formların ve bağlantıların beklendiği gibi çalışıp çalışmadığı test edilir.
- XML veri yönetimi: XML tabanlı veri dosyalarında belirli alanları okumak, filtrelemek ve dönüştürmek için kullanılır; XSLT dönüşümlerinin de temelini oluşturur.
- Dijital pazarlama ve SEO: Rakip sitelerin sayfa yapılarını, başlık kullanımını ve içerik düzenini karşılaştırmalı incelemek için Xpath’ten yararlanılır. Elde edilen veriler SEO optimizasyonu çalışmalarına ve anahtar kelime araştırması sürecine girdi sağlar.
Web Scraping Sürecinde Xpath’in Rolü
Web scraping (veri kazıma) işlemlerinde Xpath, sayfanın HTML yapısında hedef veriye giden yolu tanımlamak için kullanılır. Tipik bir akış şu adımlardan oluşur:
- Hedef veriyi içeren öğe, tarayıcının geliştirici araçlarıyla incelenir.
- Bu öğeye ait Xpath ifadesi oluşturulur veya “Copy XPath” seçeneğiyle alınır.
- İfade; lxml, Scrapy veya Selenium gibi bir kütüphane içinde kullanılarak veriler toplanır.
- Toplanan veriler CSV, JSON veya veritabanı gibi yapılandırılmış bir biçimde kaydedilir.
Otomatik veri toplama, manuel kopyala-yapıştır yöntemine göre hem daha hızlıdır hem de insan kaynaklı hata riskini azaltır. Rakip fiyatlarını, ürün kataloglarını veya yorumları düzenli aralıklarla izlemek gibi tekrar eden işlerde belirgin zaman kazancı sağlar.
Alternatif olarak CSS seçiciler de kullanılabilir. Xpath’i ayıran nokta, belge ağacında yukarı yönlü hareket edebilmesi (üst düğüm seçimi) ve metin içeriğine göre filtreleme yapabilmesidir; bu da karmaşık sayfalarda daha esnek seçim imkânı verir.
Sık Sorulan Sorular
Xpath ne işe yarar?
Xpath ile CSS seçici arasındaki fark nedir?
Xpath ifadesini nasıl bulurum?
Tek slash (/) ile çift slash (//) arasındaki fark nedir?
/ doğrudan alt düğümü seçerken, // belgenin herhangi bir derinliğindeki eşleşen düğümleri seçer.Xpath hangi araçlarla kullanılır?
Veri odaklı rakip analizi ve teknik SEO süreçlerini profesyonel destekle yürütmek isterseniz SEO optimizasyonu hizmetimizi inceleyebilirsiniz.

Sıralamalarınızı kalıcı olarak yükseltmek için Efilya ekibiyle görüşün →
Comments are closed