■目次
■本文
XPATHとは
XPATHによるノードや文字列の指定方法
ブラウザのアドオンその他の方法で、おおざっぱなXPATHは取得できる。しかし知識があれば、さらに細かい指定ができる。
XPath基本
パスを指定する
比較
内容が等しいものを取り出す
内容が等しくないものを取り出す
値の大小で内容を取り出す
属性値が等しいものを取り出す
範囲指定
特定の出現位置にある内容を取り出す
特定の出現位置より大きいか小さいものを取得する
特定の出現範囲内のものを取り出す
いずれかの出現順番の場合に内容を取り出す
出現順番が偶数番目のデータを表示する
出現順番が奇数番目のデータを表示する
出現順番が3の倍数のデータを表示する
出現順番が最後のものを取り出す
XPATHを簡単に知る方法 (どれか1つで良い)
firefoxのアドオンを使う
Xpath Checker
firebug
xpather(更新されておらず、現バージョンのFFでは使用不可)
Internet Explorer
google chrome
簡易スクレイピング
ブラウザとJavaScript デバッグツール で $x によるスクレイピング
ブラウザだけとデバッグツールだけで簡単なスクレイピングできる。
$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を使える言語、ソフト、アドオン
実践例
ページフッタ
このページの1階層上のページ
このページの1階層下のページ
このページに含まれるタグ
このページへのアクセス数
今日: -
昨日: -
これまで合計: -
最終更新:2012年08月24日 08:58