XPathとは?XPathの基本知識を学ぼう!

2019年12月03日

XPathとは? Octoparseでの作用は?

XPath (XML Path Language)とは、XML形式の文書から、特定の部分を指定して抽出するための簡潔な構文(言語)です。HTML形式の文書にも対応します。Octoparseで要素をクリックすることによって自動生成されるXPathより、カスタマイズされたXPathは自由度と正確度が高いです。

Octoparseでは、XPathを変更して、取得するデータを正確に見つけることができます。XPathの詳細については、こちらのチュートリアルを参照してください:https://www.w3schools.com/xml/xpath_intro.asp

 

XPathの使いはいつですか?

ほとんどの場合、XPathを書く必要はありません。しかし、データをより正確に見つけるためにXPathを修正する場合もあります。

(上級のチュートリアルですから、XPathを使う前に、XPathの知識は欠かせない。)

  • 不規則な位置でデータを抽出する
  • 余分なデータまたは不足のデータ
  • 「Next」ボタンのないページ遷移 
  • 「Next」ボタンを正確に指定できない
  • スイッチのないドロップダウンメニューのループ

 

XPathはどこで変更できますか?

OctoparseでXPathを変更するには:

変更するデータフィールドを選択し、を選択してデータフィールドをカスタマイズします。

データフィールドをカスタマイズ

 

Xpathをカスタマイズする」を選択します。

 Xpathをカスタマイズする

 

 

絶対Xpath」テキストボックスに新しいXPathを入力します。

新しいXPathを入力

 

ページ遷移やドロップダウンの切り替などの「ループアイテム」ステップには、「高級オプション」の下のXPathテキストボックスがあります。新しいXPathを入力し、「OK」をクリックして変更を保存します。

 新しいXPathを入力

 

 

XPathを書き方

XPathは、HTMLのタグと属性に基づいて要素を指定します。(HTMLについて分からない方はこちら➡HTMLに関するチュートリアル )

【Google Chromeの場合】
「XPath Helper」という拡張機能を追加すれば、HTMLのタグと属性に基づいてxpathを書くことができます。

 

【Firefoxの場合】 

Firefoxの旧バージョンに搭載されているプラグイン「Firebug」が旧バージョンのFireboxをダウンロードする)

FirefoxでWebページを開く➡Firebugボタンをクリック➡ページ内の要素をクリック➡その要素のXPathが表示されます。

Firebug 

 

<OctoparseのXPath生成ツールを使って書く> - XPath toolを提供します。

Octoparseのサイドメニュー「ツール」➡「XPathツール」を開き、必要な項目を入力することによって、XPathを簡単に作成できます。

 XPathツール

 

 

 

Octoparseで使用される一般的なXPath式

XPath

意味

.

カレントノードを選択する

//*

すべての要素を選択する

.//

カレントノードから開始する要素を選択する

@

属性を選択する

.//div

カレントノードから開始する<div>要素現を選択する

//li[a]

<a>要素を含む<li>要素を選択する

//li[a or h2]

<a>または<h2>要素を含む<li>要素を選択する

.//div[@class='publish-time']

“publish-time”という属性を持つ<div>要素を選択する

.//*[text()='Next']

“Next”テキストを選択する

//a[contains(text(), ‘Next’)]

“Next” テキストを含む<a>要素を選択する

.//*[contains(@class, 'name')]

“name”文字列を含むすべての<class>属性を選択する

following-sibling

カレントノードより後ろにある兄弟を選択する

//h1/following-sibling::p[1]

<h1>の後ろに一番目の<p>要素を選択する


 

以上が、クローラーに便利なXPathまとめでした!
XPathは比較的覚えやすく理解しやすい言語ですので、ぜひXPathを試してみてください!

 詳細は以下のリンクを参照してください。

 XML Path Language – Wikipedia

 XPath の例 – MSDN

btn_sidebar_use.png
btn_sidebar_form.png