http://jp.investing.com/currencies/nzd-jpy
から 前日比を取得したいのですが
どのように記述すればよろしいでしょうか?
=ImportXML("http://jp.investing.com/currencies/nzd-jpy","//*[@class='arial_20 greenFont pid-58-pc']")
と記述しても取得できません
以下の式で取得できました。
=ImportXML("http://jp.investing.com/currencies/nzd-jpy","//span[@id='last_last']/../span[2]")
今回のやつは、こんな感じで調べました。
質問の XPath を見ると greenFont って入ってるので、「また、日によって変わる属性か」と予断。
実際のページを見ると文字は緑だし、ブラウザのインスペクタで class 属性を見ると、指定は合ってそう。
Google spreadsheet に貼り付けて、データが取れないのを確認。
ブラウザの「ソースを表示する」で class 属性を確認。
すると、以下のように空白が三つ入っているところがあるのを確認。
空白の数も合わせた class 属性の指定をしても、データが取れないのを確認。
ここでちょっと詰まります。
以前の質問のように、そもそも ImportXML 関数で取得できない可能性を疑う。
近くにある id="last_last" を指定した ImportXML を描いてみて、データが取れることを確認。
上の階層をたどって行って、適当な id 属性が振られているものがなかったので、id="last_last" からの相対パスで書いてみる。
データが取れることを確認したので、回答へ。
ぼくはプログラムを書く人なので、XML は知ってますし、XPath もある程度知ってます。
XML に見た目をつけたりするのに使う XSL というのがあるんですけれど、これが XPath をバリバリ使います。
それでも、使う機会は限られているので、すべて頭の中に入ってるわけではなく、こういうのを使ってます。
http://aoproj.web.fc2.com/xpath/XPath_cheatsheets_v2.pdf
でも、以下の六つがあれば、大抵のことはできます。
この質問で回答する前だったら、.. は入れてないかも。
後、一連の質問で Google spreadsheet の ImportXML 関数を使ってみて、以下のような経験がありました。
こんなんで、コメントへの回答になってますかね?
2015/07/22 16:18:06はい!勉強になりました!ありがとうございました
2015/07/22 23:17:51