「トップページ/windows/プログラミング/XPATH」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
最終更新日時&date() &link_edit(text=ここを編集)
■目次
#contents_line()
■本文
*XPATHとは
[[XPathとは - 意味/解説/説明/定義 : IT用語辞典 >http://e-words.jp/w/XPath.html]]
[[ XPath - Mozilla Developer Network >https://developer.mozilla.org/ja/XPath]]
リンクをたどっていくと、かなり詳しく解説あり。
関連リンク:(英語での解説)
[[ XPath René Nyffenegger's collection of things on the web >http://www.adp-gmbh.ch/xml/xpath.html]]
**XPATHによるノードや文字列の指定方法
[[XPath使いのための日本語チートシート >http://aoproj.web.fc2.com/xpath/]]
[[ Adobe Spry XPath 逆引きリファレンス >http://www.openspc2.org/reibun/Adobe_Spry/XPath/]]
目次抜粋
>XPath基本
>パスを指定する
>比較
>内容が等しいものを取り出す
>内容が等しくないものを取り出す
>値の大小で内容を取り出す
>属性値が等しいものを取り出す
>範囲指定
>特定の出現位置にある内容を取り出す
>特定の出現位置より大きいか小さいものを取得する
>特定の出現範囲内のものを取り出す
>いずれかの出現順番の場合に内容を取り出す
>出現順番が偶数番目のデータを表示する
>出現順番が奇数番目のデータを表示する
>出現順番が3の倍数のデータを表示する
>出現順番が最後のものを取り出す
関連リンク
[[@IT:XMLマスターへの道 第12回 XPathによるノードの指定法を理解する 2003/12/23 >http://www.atmarkit.co.jp/fxml/rensai2/xmlmaster12/master12.html]]
[[XSLTスタイルシート書き方講座(2):XPathの書き方の基本 >http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt02.html]]
[[サンプルで覚えるXSLTプログラミング >http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt02.html]]
*XPATHを簡単に知る方法 (どれか1つで良い)
**firefoxのアドオンを使う
***Xpath Checker
[[Greasemonkey開発になくてはならないほど便利なアドオンXPath Checker - 大人になったら肺呼吸 >http://d.hatena.ne.jp/replication/20100106/1262789368]]
[[XPath Checker :: Add-ons for Firefox >https://addons.mozilla.org/ja/firefox/addon/xpath-checker/]]
***firebug
[[Firebug で Xpath を調べる:Ubuntu & Emacs & etc. メモ:So-netブログ >http://ubuntu-note.blog.so-net.ne.jp/2011-02-20]]
関連リンク:[[勉強用メモ - トップページ/windows/ブラウザ/firefox/アドオン/firebug >http://www42.atwiki.jp/tomokazu0525/pages/55.html]]
***xpather(更新されておらず、現バージョンのFFでは使用不可)
[[勉強用メモ - firefox/アドオン/XPATHER >http://www42.atwiki.jp/tomokazu0525/pages/76.html]]
**Internet Explorer
[[selenium - Equivalent of Firebug's "Copy Xpath" in Internet Explorer? - Stack Overflow >http://stackoverflow.com/questions/214862/equivalent-of-firebugs-copy-xpath-in-internet-explorer]]
英語だが、IEとfirefox(FF)用のブックマークレットが置いてある。
**google chrome
google chromeを使ってxpathを取得するための解説の動画。英語だが、英語わからなくても雰囲気でわかる。
[[ Quick Tip: Getting The XPath In Google Chrome - YouTube >http://www.youtube.com/watch?v=vCNLPHP3E_U]]
関連リンク:[[Chromeだけで任意のノードのXPathを簡単に取得 たぶん革命 - nrm://lab.kss.inc - Petittech >http://ptech.g.hatena.ne.jp/noromanba/20120528/1338307299]]
*簡易スクレイピング
**ブラウザとJavaScript デバッグツール で $x によるスクレイピング
ブラウザだけとデバッグツールだけで簡単なスクレイピングできる。
$xというものがあり、ここにxpathを当てはめれば、そのページに含まれる該当要素を抜き出せる。
[[$x - FirebugWiki >http://getfirebug.com/wiki/index.php/$x]]
[[XPath関数 - prog*sig >http://efcl.info/adiary/XPath%E9%96%A2%E6%95%B0]]
***$xに各ブラウザ JavaScript デバッグツールの対応している状況
関連リンク:[[classics. JavaScript デバッグツール で $x で XPath セレクタ使えるのがいつの間にかメジャーになっていた >http://oquno.com/log/eid2573.html]]
***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を使える言語、ソフト、アドオン
[[勉強用メモ - javascript/XPATH >http://www42.atwiki.jp/tomokazu0525/pages/89.html]]
**実践例
***[[あるテキストを含むコメントノードを取得するXPath - 0x廃棄階層 - 統治局 >http://os0x.g.hatena.ne.jp/os0x/20080620/1213987223]]
#amazon2(728x90)
&link_edit(text=ここを編集)
*ページフッタ
**このページの1階層上のページ
&link_parent()
**このページの1階層下のページ
#lsd()
**このページに含まれるタグ
&tags()
**このページへのアクセス数
今日:&counter(today)
昨日:&counter(yesterday)
これまで合計:&counter(total)
最終更新日時&date() &link_edit(text=ここを編集)
■目次
#contents_line()
■本文
*XPATHとは
[[XPathとは - 意味/解説/説明/定義 : IT用語辞典 >http://e-words.jp/w/XPath.html]]
[[ XPath - Mozilla Developer Network >https://developer.mozilla.org/ja/XPath]]
リンクをたどっていくと、かなり詳しく解説あり。
関連リンク:(英語での解説)
[[ XPath René Nyffenegger's collection of things on the web >http://www.adp-gmbh.ch/xml/xpath.html]]
**XPATHによるノードや文字列の指定方法
ブラウザのアドオンその他の方法で、おおざっぱなXPATHは取得できる。しかし知識があれば、さらに細かい指定ができる。
[[XPath使いのための日本語チートシート >http://aoproj.web.fc2.com/xpath/]]
[[ Adobe Spry XPath 逆引きリファレンス >http://www.openspc2.org/reibun/Adobe_Spry/XPath/]]
目次抜粋
>XPath基本
>パスを指定する
>比較
>内容が等しいものを取り出す
>内容が等しくないものを取り出す
>値の大小で内容を取り出す
>属性値が等しいものを取り出す
>範囲指定
>特定の出現位置にある内容を取り出す
>特定の出現位置より大きいか小さいものを取得する
>特定の出現範囲内のものを取り出す
>いずれかの出現順番の場合に内容を取り出す
>出現順番が偶数番目のデータを表示する
>出現順番が奇数番目のデータを表示する
>出現順番が3の倍数のデータを表示する
>出現順番が最後のものを取り出す
関連リンク
[[@IT:XMLマスターへの道 第12回 XPathによるノードの指定法を理解する 2003/12/23 >http://www.atmarkit.co.jp/fxml/rensai2/xmlmaster12/master12.html]]
[[XSLTスタイルシート書き方講座(2):XPathの書き方の基本 >http://www.atmarkit.co.jp/fxml/tanpatsu/10xslt/xslt02.html]]
[[サンプルで覚えるXSLTプログラミング >http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt02.html]]
*XPATHを簡単に知る方法 (どれか1つで良い)
**firefoxのアドオンを使う
***Xpath Checker
[[Greasemonkey開発になくてはならないほど便利なアドオンXPath Checker - 大人になったら肺呼吸 >http://d.hatena.ne.jp/replication/20100106/1262789368]]
[[XPath Checker :: Add-ons for Firefox >https://addons.mozilla.org/ja/firefox/addon/xpath-checker/]]
***firebug
[[Firebug で Xpath を調べる:Ubuntu & Emacs & etc. メモ:So-netブログ >http://ubuntu-note.blog.so-net.ne.jp/2011-02-20]]
関連リンク:[[勉強用メモ - トップページ/windows/ブラウザ/firefox/アドオン/firebug >http://www42.atwiki.jp/tomokazu0525/pages/55.html]]
***xpather(更新されておらず、現バージョンのFFでは使用不可)
[[勉強用メモ - firefox/アドオン/XPATHER >http://www42.atwiki.jp/tomokazu0525/pages/76.html]]
**Internet Explorer
[[selenium - Equivalent of Firebug's "Copy Xpath" in Internet Explorer? - Stack Overflow >http://stackoverflow.com/questions/214862/equivalent-of-firebugs-copy-xpath-in-internet-explorer]]
英語だが、IEとfirefox(FF)用のブックマークレットが置いてある。
**google chrome
google chromeを使ってxpathを取得するための解説の動画。英語だが、英語わからなくても雰囲気でわかる。
[[ Quick Tip: Getting The XPath In Google Chrome - YouTube >http://www.youtube.com/watch?v=vCNLPHP3E_U]]
関連リンク:[[Chromeだけで任意のノードのXPathを簡単に取得 たぶん革命 - nrm://lab.kss.inc - Petittech >http://ptech.g.hatena.ne.jp/noromanba/20120528/1338307299]]
*簡易スクレイピング
**ブラウザとJavaScript デバッグツール で $x によるスクレイピング
ブラウザだけとデバッグツールだけで簡単なスクレイピングできる。
$xというものがあり、ここにxpathを当てはめれば、そのページに含まれる該当要素を抜き出せる。
[[$x - FirebugWiki >http://getfirebug.com/wiki/index.php/$x]]
[[XPath関数 - prog*sig >http://efcl.info/adiary/XPath%E9%96%A2%E6%95%B0]]
***$xに各ブラウザ JavaScript デバッグツールの対応している状況
関連リンク:[[classics. JavaScript デバッグツール で $x で XPath セレクタ使えるのがいつの間にかメジャーになっていた >http://oquno.com/log/eid2573.html]]
***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を使える言語、ソフト、アドオン
[[勉強用メモ - javascript/XPATH >http://www42.atwiki.jp/tomokazu0525/pages/89.html]]
**実践例
***[[あるテキストを含むコメントノードを取得するXPath - 0x廃棄階層 - 統治局 >http://os0x.g.hatena.ne.jp/os0x/20080620/1213987223]]
#amazon2(728x90)
&link_edit(text=ここを編集)
*ページフッタ
**このページの1階層上のページ
&link_parent()
**このページの1階層下のページ
#lsd()
**このページに含まれるタグ
&tags()
**このページへのアクセス数
今日:&counter(today)
昨日:&counter(yesterday)
これまで合計:&counter(total)