(備忘録です)
##本文
XPathはHTMLなどで使えるノードを抜き出せる言語です。
PHPやPythonなどいろんな言語で利用できます。
XPathの構文などはチートシートなどを参照してください。
あと便利機能ですが、Google ChromeのDeveloper ToolsでCtrl+Fなどで呼び出せる検索(Find)ボックスにXPathを入力し対象ノードを検索することが出来ます。
このページから以下の図のような
「細かい検索オプション」の次のPタグを抜き出したいと思います。
では、おもむろに、以下の図のように
Google ChromeのDeveloper Toolsの「細かい検索オプション」のノードを右クリックし、「Copy XPath」をクリックします。
すると、以下の様なXPathをクリップボードにコピーできます。
//*[@id="main"]/div/div/div/div/h3[2]
もちろんこのまま検索ボックスに入力すると対象ノードを検索できます。
すこしこれを弄って、
/following::p を追加すると 前半の対象ノードの結果を用いた検索ができます。
(h3[2]の代わりにtext()=などにしてなんとなく汎用性)
//*[@id="main"]/div/div/div/div/*[text()="細かい検索オプション"]/following-sibling::p
following-siblingの代わりにParent等色々できます。
DOM構造も任意にするとこんな感じですかね。
//*[text()="細かい検索オプション"]/following-sibling::p
##参考
XPath チートシート
http://aoproj.web.fc2.com/xpath/XPath_cheatsheets_v2.pdf