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の知識は欠かせない。)
XPathはどこで変更できますか?
OctoparseでXPathを変更するには:
変更するデータフィールドを選択し、を選択してデータフィールドをカスタマイズします。
「Xpathをカスタマイズする」を選択します。
「絶対Xpath」テキストボックスに新しいXPathを入力します。
ページ遷移やドロップダウンの切り替などの「ループアイテム」ステップには、「高級オプション」の下のXPathテキストボックスがあります。新しいXPathを入力し、「OK」をクリックして変更を保存します。
XPathを書き方
XPathは、HTMLのタグと属性に基づいて要素を指定します。(HTMLについて分からない方はこちら➡HTMLに関するチュートリアル )
【Firefoxの場合】
Firefoxの旧バージョンに搭載されているプラグイン「Firebug」が(旧バージョンのFireboxをダウンロードする)
FirefoxでWebページを開く➡Firebugボタンをクリック➡ページ内の要素をクリック➡その要素のXPathが表示されます。
<OctoparseのXPath生成ツールを使って書く> - XPath toolを提供します。
Octoparseのサイドメニュー「ツール」➡「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を試してみてください!
詳細は以下のリンクを参照してください。