XPathで要素を見つける

Sunday, April 08, 2018 9:20 AM

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を変更するには:

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

「Customize XPath」を選択します。

 

 

「Matching XPath」テキストボックスに新しいXPathを入力します。

ページ遷移やドロップダウンの切り替などの「Loop Item」ステップには、「Advanced Options」の下のXPathテキストボックスがあります。新しいXPathを入力し、「OK」をクリックして変更を保存します。

 

XPathを書くには?

XPathの初心者なら、まずHTMLの基本知識は不可欠です。XPathは、タグと属性に基づいて要素を指定します。ですから、XPathを書く前に、ページのHTML構造を調べる必要があります。

(HTMLに関するチュートリアル )

 

Firebug (Firefoxのプラグイン)を使うことをお勧めします。Firebugは、HTML文書の要素を検索するのに便利です。

(Firebugは旧バージョンのFireboxでのみ利用可能です。古いバージョンのFireboxをダウンロードする)

 

FirefoxでWebページを開き、Firebugボタンをクリックし、ページ内の要素をクリックして検査します。その要素のXPathが出てきます。

 

OctoparseはXPathの生成に便利するツール - XPath toolを提供します。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