digital 千里眼 @abp_jp

アナログな日常とデジタルの接点

ブログにグラフを追加できる XPathGraph 設定のちょっとした「コツ」

http://xpath.kayac.com/

XPathGraph とは
  • オンライン上にあるデータを XPath で指定し、その変化をグラフ化するサービス。サービスの詳細は ↓ リンク ↓ を参照ください
ツール(Firefox Add-on)を準備
名称 特徴
DOM Inspector ● HTMLツリー構造を表示
InspectThis or
Inspect Context
● DOM Inspector 補助ツールで右クリック場所で DOM Inspector を起動する
● ポインタ下のHTMLツリーを確認するのに便利
XPath Checker XPath をテスト
● 右クリックでその場所のXPathと該当箇所を表示
● 視覚的だがちょっと重い
● HTMLツリーを把握する他のツール(例:DOM Inspector)が必要
XPather XPath をテスト。XPath に複数該当時の表示がわかりやすい
● HTMLツリーを把握する他のツール(例:DOM Inspector)が必要
  • 使い方
    1. 該当箇所上で右クリックし「要素を点検しなさい(InspectThis)」or「Inspect(Inspect Context)」で DOM Inspector 起動し、HTMLツリーを把握
    2. HTMLツリーを確認し XPath XPather 等でテスト。XPath のとっかかりをつかみたければ右クリックから「View XPath(XPath Checker)」してもいい
  • 備考:AutoPagerize の SITEINFO 作成にも使えます

面倒な XPath の指定のコツ

  • ツールで自動生成された複雑な XPath が「値が取得できませんでした」と受け付けられないときがあります
  • どこが悪いのかわからんっ!!こうならないために...
  • XPath の 関数 count(ノード指定 XPath) を使います
  • count した結果が 0 ならノード指定が間違ってることになるので、XPath を短くしながら 1 以上になるよう指定を再検討します

たいしたテクではありませんが精神安定上効果があるハズです

マメ知識
  • XPath 指定した単一のノードが数字と文字を含む場合XPathGraph の方で数字だけを抽出し、連結してくれます
  • 改行して XPath を書ける ⇒ ブロック毎に分けて書くことで書き間違いを防止
  • XPath の関数で引数に日本語文字列を与えたが、残念ながら意図した通りには動作しなかった。文字コードを指定すればいいのかもしれない(未検証)

スクリーンショットで見る作業手順












XPathGraph を使ってみた感想

AutoPagerizeXPath で「エレメント」を指定するのに対し、XPathGraph では「テキスト」を指定する。普段使う XPathAutoPagerize ばかりだったので、この違いが硬直した XPath 知識を解きほぐす。まるでリハビリ