XPathで要素を見つける
フォローする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を入力し、「OK」をクリックして変更を保存します。
XPathを書くには?
XPathの初心者なら、まずHTMLの基本知識は不可欠です。XPathは、タグと属性に基づいて要素を指定します。ですから、XPathを書く前に、ページの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を試してみてください!
詳細は以下のリンクを参照してください。