Pengenalan XPath

XPath adalah XML Path Language, yang berguna untuk navigasi node pada XML document. Dengan menggunakan XPath, kita bisa mencapai node yang akan kita extract datanya.

Berikut document XML yang akan digunakan sebagai contoh untuk memilih node.

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book>
  <title lang="id">Belajar Bahasa Python</title>
  <price>125.000</price>
</book>

<book>
  <title lang="id">Belajar Menggunakan Scrapy</title>
  <price>150.000</price>
</book>

</bookstore>

XPath melakukan node selecting dengan ekspresi path. Berikut path yang paling umum digunakan:

ExpressionDescription
nodenameSelect semua node dengan nama “nodename
/Select node dari root. Merupakan absolute path.
//Select semua node dalam document dari current node yang match tanpa mempermasalahkan lokasi
.Selects current node
..Selects the parent dari current node
@Selects berdasarkan attributes, attribute bisa berupa id, clas dan lainnya.

Contoh penerapan dengan document XML diatas:

  • bookstore: select semua node dengan nama bookstore.
  • /bookstore: select root element bookstore.
  • bookstore/book: select book element dimana bookstore adalah parent.
  • //book: select book element diseluruh document.
  • bookstore//book: memilih semua book element selama dibawah bookstore.
  • //@lang: memilih node dengan atribute lang.

Cara untuk mendapatkan Absolute XPath dari sebuah document dapat dilihat dari developer tools. Contohnya, ingin mendapatkan XPath dari Text Quotes to Scrape pada http://quotes.toscrape.com/

JIka Anda menggunakan Chrome, buka halaman quotes.toscrape.com pada new tab, lalu click kanan untuk mengakses menu Inspect atau dengan shortcut Ctrl + Shift + C.

Setelah window developer tools tampil, click tombol untuk memilih element (lihat gambar dibawah). Lalu pilih element yang akan diperiksa, contoh Judul Quotes to Scrape.

Setelah dipilih, pada developer console bagian source code html, element akan otomatis disorot. Click kanan pada source code tersebut, lalu pilih menu Copy – Copy XPath.

Namun, karena XPath terlalu spesifik atau berupa absolute path, sering kali kurang cocok untuk kebutuhan kita dalam melakukan scraping.

Karena ini bukan tutorial tentang xpath, untuk dokument lengkap silakan lihat di https://www.w3.org/TR/1999/REC-xpath-19991116/

Sharing is caring:

Leave a Comment