トップページ > windows > プログラミング > XPATH

最終更新日時2012-08-24ここを編集


■目次
■本文

XPATHとは


XPath - Mozilla Developer Network
リンクをたどっていくと、かなり詳しく解説あり。





XPATHによるノードや文字列の指定方法

ブラウザのアドオンその他の方法で、おおざっぱなXPATHは取得できる。しかし知識があれば、さらに細かい指定ができる。


XPath基本
パスを指定する
比較
内容が等しいものを取り出す
内容が等しくないものを取り出す
値の大小で内容を取り出す
属性値が等しいものを取り出す
範囲指定
特定の出現位置にある内容を取り出す
特定の出現位置より大きいか小さいものを取得する
特定の出現範囲内のものを取り出す
いずれかの出現順番の場合に内容を取り出す
出現順番が偶数番目のデータを表示する
出現順番が奇数番目のデータを表示する
出現順番が3の倍数のデータを表示する
出現順番が最後のものを取り出す




XPATHを簡単に知る方法  (どれか1つで良い)

firefoxのアドオンを使う

Xpath Checker


firebug




xpather(更新されておらず、現バージョンのFFでは使用不可)


Internet Explorer

selenium - Equivalent of Firebug's "Copy Xpath" in Internet Explorer? - Stack Overflow
英語だが、IEとfirefox(FF)用のブックマークレットが置いてある。

google chrome

google chromeを使ってxpathを取得するための解説の動画。英語だが、英語わからなくても雰囲気でわかる。
Quick Tip: Getting The XPath In Google Chrome - YouTube



簡易スクレイピング


ブラウザとJavaScript デバッグツール で $x によるスクレイピング

ブラウザだけとデバッグツールだけで簡単なスクレイピングできる。

$xというものがあり、ここにxpathを当てはめれば、そのページに含まれる該当要素を抜き出せる。
$x - FirebugWiki
XPath関数 - prog*sig

$xに各ブラウザ JavaScript デバッグツールの対応している状況


google chromeでのやり方


chromeの場合は、F12で立ち上げた開発者ツールのconsoleに入力。
なお上記サイトの知識と、chromeの右クリックから得られるxpathを、そのまま使ってもシンタックスエラーが出ることがある。例えば、xpath内に""でくくられた文字列が出てくるとシンタックスエラー。x関数内を示す""か、xpathの""のいずれかの""を''に変更が必要。

例)右クリックで得られたxpathが //*[@id="content"]/a のとき
NGパターン : $x("//*[@id="content"]/a")
OKパターン1 : $x('//*[@id="content"]/a')
OKパターン2 : $x("//*[@id='content']/a")

また、文字列だけを抜き出すなら、得られたxpathに /text()の付加が必要。
OKパターン3 : $x('//*[@id="content"]/a/text()')
OKパターン4 : $x("//*[@id='content']/a/text()")





XPATHを使える言語、ソフト、アドオン


実践例

あるテキストを含むコメントノードを取得するXPath - 0x廃棄階層 - 統治局







ページフッタ

このページの1階層上のページ

このページの1階層下のページ

このページに含まれるタグ

このページへのアクセス数

今日: -
昨日: -
これまで合計: -

タグ:

xpath
最終更新:2012年08月24日 08:58