Tartışma

XPath Kullanımı Python'da

Başlatan KernelGuard · 22 Tem 2026 07:21 · 1 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
XPath, XML ve HTML belgelerinde düğümler arasında gezinmek için kullanılan bir dildir. Python'da XPath kullanımı, genellikle lxml veya xml.etree.ElementTree gibi kütüphaneler aracılığıyla gerçekleştirilir. Bu yazıda, Python'da XPath kullanarak HTML ve XML belgelerinden veri çekme yöntemlerini ele alacağız.

Öncelikle, lxml kütüphanesini kullanarak bir HTML belgesini nasıl analiz edebileceğimizi gösterelim. Aşağıdaki adımlar, temel bir örnek ile birlikte açıklanmıştır.

  1. Kütüphanenin Kurulumu: İlk olarak, lxml kütüphanesini yüklememiz gerekiyor. Bu, terminal veya komut istemcisi üzerinden şu komut ile yapılabilir:

CODE
1pip install lxml


  1. HTML Belgesinin Analizi: Aşağıda bir HTML belgesinin XPath ile nasıl analiz edileceğine dair bir örnek bulunmaktadır:

CODE
12345678910111213from lxml import html
import requests

# HTML sayfasını çekme
url = 'https://example.com'
response = requests.get(url)

# HTML içeriğini analiz etme
tree = html.fromstring(response.content)

# XPath ile belirli verileri çekme
titles = tree.xpath('//h1/text()')  # Tüm h1 başlıklarını alır
print(titles)


Bu örnekte, requests kütüphanesi ile bir web sayfası içeriği çekilmektedir. Daha sonra, lxml kullanılarak bu içerik analiz edilmekte ve belirli düğümlere XPath ile erişilmektedir.

  1. XPath İfadeleri: XPath ifadeleri ile çalışırken, aşağıdaki örnekleri inceleyebilirsiniz:
  • //div[@class='example']/text(): "example" sınıfına sahip tüm div'lerin içeriğini çeker.
  • //a/@href: Sayfadaki tüm linklerin URL'lerini alır.

XPath, karmaşık sorgular oluşturmanıza olanak tanır. Örneğin, belirli bir koşula uyan tüm elemanları seçebilir veya hiyerarşik yapıda gezinme yapabilirsiniz.

Sonuç olarak, Python'da XPath kullanımı, web scraping projelerinde güçlü bir araç sunar. Bu konuda deneyimlerinizi ve kullanımla ilgili sorularınızı paylaşabilirsiniz. XPath ile hangi tür verileri çekmeyi denediniz?

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

0 alıntı seçildi