人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

htmlについてお聞きします。

ページは「外為ジャパンの為替レート」
http://www.gaitamejapan.com/fx/rate.html
このページの為替レートをEXCELのWEBクエリで取得したいのですが横線が表示され取得できません。

レート表示は以下のURLの様ですがここから解読をお願いします。
http://www.gaitamejapan.com/fx/rate.php

以上、宜しくお願いします。


●質問者: spyglass
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Excel HTML URL Web クエリ
○ 状態 :終了
└ 回答数 : 2/3件

▽最新の回答へ

1 ● a-kuma3
●35ポイント ベストアンサー

データのところに "-" が入ったさみしい表しか表示されない、ということですよね。

この rage.php を表示したときに、ブラウザの「ソースを表示する」でみると分かるのですが、このリクエストで返ってくるのが、

データが全て "-" の表になってて、その後、javascript でデータが更新されています。


実際にデータを取得する URL は、http://www.gaitamejapan.com/market/rate/getrate.php です。

ブラウザで表示してみると分かりますが、以下のような体裁でデータが返ってきます (JSON と言われる形式です)。

{"timestamp":"1305549855213","rate":[{"timestamp":"1305549854253","currency_pair":"NZDJPY","bid":"62.861","ask":"62.891","bid_high":"63.696","bid_low":"62.650","change":"-0.699","buy_swap":"39","sell_swap":"-49"},
 (以下、省略)

Excel だけでやりたければ、VBA で解析するしかないかなあ、という感じ。

◎質問者からの返答

早速の回答、ありがとう御座います。

CSVに似てますがJSONと言うのですね、なるほど。

通貨名から(VBAで)bid値をカットして取り出せば目的の回答を満たせそうです。


できましたら、もう一つ質問なのですが・・・

データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?

ご回答頂ければ幸いです。


2 ● a-kuma3
●35ポイント

データ中の13桁のタイムスタンプから実際の日時・時間を取り出すにはどうすれば良いでしょうか?

javascript の Date (日付を表すクラス) の表現で、1970年1月1日0時0分からの通算ミリ秒です。

Excel でやるなら、TEXT 関数が使えますね。

Excel だと日付は 1900年1月1日 0時0分が 1 なので、1970年1月1日0時0分 は 25569 ですから、

(13桁の数値)/1000/60/60/64 + 25569

を、セルに入れて、表示形式を日付+時刻にするか、VBA で Format 関数を使う、って感じですかね。


後、javascript の時刻表現は UTC なので、日本時間に直すなら、9時間ずらすこともお忘れなく。


回答数の上限に達したので、話が続くなら、上限数を増やすか、コメント欄を開いておいてください。

◎質問者からの返答

続けて回答ありがとう御座います。

因みに上記一つ目の13桁をa-kuma3さんの公式で入力してみました。

=(1305549855213)/1000/60/60/64 + 25569

そうすると日時に変換されたのですが・・・

1985/7/7 10:46:36

こんなに古い日時になってしまいました。

何かおかしいのでしょうか?

コメント欄、開いてあります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ